3
respostas

Meus produtos não estão lendo UTF-8

Além de não ler, não está aparecendo a descrição. Faz a leitura do título e páginas!

3 respostas

Boa noite Robson, não entendi muito bem o que aconteceu

Olá Guilherme, o layout do meu http://localhost:8080/casadocodigo/produtos não exibe as descrições e também não meu código não está lendo o UTF-8

O meu ProdutosController:

package br.com.casadocodigo.loja.controllers;

import java.util.List;

import javax.validation.Valid;

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import br.com.casadocodigo.loja.daos.ProdutoDAO; import br.com.casadocodigo.loja.models.Produto; import br.com.casadocodigo.loja.models.TipoPreco; import br.com.casadocodigo.loja.validation.ProdutoValidation;

@Controller @RequestMapping("produtos") public class ProdutosController {

@Autowired
private ProdutoDAO produtoDao;

@InitBinder
public void initBinder(WebDataBinder binder) {
    binder.addValidators(new ProdutoValidation());
    new ProdutoValidation();
}

@RequestMapping("form")
public ModelAndView form() {
    ModelAndView modelAndView = new ModelAndView("produtos/form");
    modelAndView.addObject("tipos", TipoPreco.values());

    return modelAndView;
}

@RequestMapping(method = RequestMethod.POST)
public ModelAndView gravar(@Valid Produto produto, BindingResult result,
        RedirectAttributes redirectAttributes) {

    if (result.hasErrors()) {
        return form();
    }

    produtoDao.gravar(produto);

    // Exibe na tela a mensagem ao cadastrar o produto
    redirectAttributes.addFlashAttribute("sucesso", "Produto cadastrado com sucesso!");

    return new ModelAndView("redirect:produtos");
}

// A listagem carrega através desse método lista
@RequestMapping(method = RequestMethod.GET)
public ModelAndView listar() {
    List<Produto> produtos = produtoDao.listar();
    ModelAndView modelAndView = new ModelAndView("produtos/lista");
    modelAndView.addObject("produtos", produtos);

    return modelAndView;
}

}

Meu form

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<`label>Título<`/label> <`input type="text" name="título"`>
    <div>
        <label>Descrição</label>
        <textarea rows="10" cols="20" name="descricao"></textarea>
    </div>
    <!--Campo Páginas  -->
    <div>
        <label>Páginas</label> 
        <input type="text" name="paginas">
    </div>
    <c:forEach items="${tipos }" var="tipoPreco" varStatus="status">
        <div>
            <label>${tipoPreco } </label> 
            <input type="text" name="precos[${status.index}].valor">
            <input type="hidden" name="precos[${status.index}].tipo" value="${tipoPreco }">

    </div>
    </c:forEach>

    <!-- Botão cadastrar -->
    <button type="submit">Cadastrar</button>
</form>