No meu produto controller no método que vai receber o requestmapp do formulário e gravar meu produto no BD, quando eu passo como parâmetro do método um obj do tipo produto, a aplicação não quebra mas eu começo a rececer um status 400. ex:
Funciona normal e retorna as saídas no console e eu recebou uma msg do servidor que n foi possível achar a pagina "ok.jsp", ou seja resultado esperado:
@requestMapping(method = RequestMethod.POST)
public String grava(String  titulo ) {
System.out.println( "acessando o grava" );
System.out.println( titulo );
return "ok";
}agora se eu mando como parâmetro do método um Produto
@requestMapping(method = RequestMethod.POST)
public String grava(Produto produto ) {
System.out.println( "acessando o grava" );
System.out.println( produto.getTitulo());
return "ok";não aparece nada no console e a mensagem do servidor é apenas um HTTP STATUS - 400 -
classe controller
@Controller
@RequestMapping("/produtos")
public class ProdutoController {
    @RequestMapping("/form")
    public ModelAndView formCadastraProduto() {
        ModelAndView modelAndView = new ModelAndView("produtos/cadastra");
        return modelAndView;
    }
    @RequestMapping("/lista")
    public ModelAndView listaDeProdutos() {
        ModelAndView modelAndView = new ModelAndView("produtos/lista");
        System.out.println("ois");
        return modelAndView;
    }
    @RequestMapping(method = RequestMethod.POST)
    public String cadastraProduto(Produto produto) {
        System.out.println("acessando@SS");
        return "k";
    }
}classe produto
@Entity
public class Produto {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;
    private String titulo;
    private int paginas;
    private String descricao;
    @DateTimeFormat(pattern = "dd/MM/yyyy")
    private BigDecimal preco;
    private Calendar dataLancamento;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getTitulo() {
        return titulo;
    }
    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }
    public int getPaginas() {
        return paginas;
    }
    public void setPaginas(int paginas) {
        this.paginas = paginas;
    }
    public String getDescricao() {
        return descricao;
    }
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }
    public BigDecimal getPreco() {
        return preco;
    }
    public void setPreco(BigDecimal preco) {
        this.preco = preco;
    }
    public Calendar getDataLancamento() {
        return dataLancamento;
    }
    public void setDataLancamento(Calendar dataLancamento) {
        this.dataLancamento = dataLancamento;
    }
    @Override
    public String toString() {
        return "Produto [id=" + id + ", titulo=" + titulo + ", paginas=" + paginas + ", descricao=" + descricao
                + ", preco=" + preco + ", dataLancamento=" + dataLancamento + "]";
    }
}formulario:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ include file="/WEB-INF/views/template-head.jsp"%>
    <form action="${s:mvcUrl('PC#cadastraProduto').build() }" method="post" class="form-horizontal">
        <fieldset>
            <!-- Form Name -->
            <legend>Cadastre seu Livro</legend>
            <!-- Text input-->
            <div class="form-group">
                <label class="col-md-4 control-label" for="titulo">Titulo:</label>
                <div class="col-md-4">
                    <input name="titulo" type="text" class="form-control input-md">
                </div>
            </div>
            <!-- Text input-->
            <div class="form-group">
                <label class="col-md-4 control-label" for="paginas">paginas:</label>
                <div class="col-md-4">
                    <input name="paginas" type="number" class="form-control input-md">
                </div>
            </div>
            <!-- Textarea -->
            <div class="form-group">
                <label class="col-md-4 control-label" for="descricao">Descrição</label>
                <div class="col-md-4">
                    <textarea class="form-control" name="descricao"></textarea>
                </div>
            </div>
            <!-- preco input-->
            <div class="form-group">
                <label class="col-md-4 control-label" for="preco">Preço:</label>
                <div class="col-md-4">
                    <input name="preco" type="number" class="form-control input-md">
                </div>
            </div>
            <!-- Date input-->
            <div class="form-group">
                <label class="col-md-4 control-label" for="dataLancamento">Lançamento:</label>
                <div class="col-md-4">
                    <input name="dataLancamento" type="date" class="form-control input-md">
                </div>
            </div>
            <!-- Button -->
            <div class="form-group">
                <label class="col-md-4 control-label" for="Confirma"></label>
                <div class="col-md-4">
                    <button type="submit" class="btn btn-primary">Confirma</button>
                </div>
            </div>
        </fieldset>
    </form>
</body>
</html> 
            