Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

HTTP Status 500 - No message found under code 'field.required' for locale 'pt_BR'.

Ao enviar o formulario, está apresentando a seguinte menssagem,

segue o codigos;

form:

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

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Livros de Java, Android, iPhone, Ruby, PHP e muito mais - Casa do Código</title>
</head>
<body>
   <form action="/casadocodigo/produtos" method="post">
    <div>
        <label>Título</label> 
        <form:errors path="produto.titulo" />
        <input type="text" name="titulo" />
    </div>
    <div>
        <label>Descrição</label>
        <form:errors path="produto.descricao" />
        <textarea rows="10" cols="20" name="descricao"></textarea>
    </div>
    <div>
        <label>Páginas</label>
        <form:errors path="produto.paginas" /> 
        <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>
    <button type="submit">Cadastrar</button>
</form>
</body>
</html>

appwebconfiguration

package br.com.casadocodigo.loja.conf;

import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

import br.com.casadocodigo.loja.controllers.HomeController;
import br.com.casadocodigo.loja.daos.ProdutoDAO;

@EnableWebMvc
@ComponentScan(basePackageClasses={HomeController.class, ProdutoDAO.class})
public class AppWebConfiguration {

    @Bean
    public InternalResourceViewResolver internalResourceViewResolver(){
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }

    @Bean
    public MessageSource messageSource(){
           ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
            messageSource.setBasename("/WEB-INF/messages");
            messageSource.setDefaultEncoding("UTF-8");
            messageSource.setCacheSeconds(1);
            return messageSource;
    }
}

message.properties

field.required = Campo é obrigatório field.required.produto.titulo = O Campo título é obrigatório field.required.produto.paginas = Informe o número de páginas field.required.produto.descricao = O Campo descrição é obrigatório

2 respostas
solução!

Olá Ciro, tudo bem?

Acredito que o problema seja o nome do seu arquivo. Ele está como message.properties, mas a configuração do spring está procurando o arquivo messageS.properties.

Tente trocar o nome do arquivo dentro do WEB-INF para messages.properties, acho que isso irá resolver o problema!

Abs

Era isso Rafael, haha obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software