Boa tarde, o codigo funcionou bem, validou os campos. Porem quando da um erro na validação aparece a mensagem na frente dos inputs mas os campos de preço somem. O que pode ser isso? Faltou alguma tag? Ele parece que não faz o forEach quando da erro nos campos de cima.
meu JSP está assim:
<%@ 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" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Inserir novo produto</title>
</head>
<body>
<%-- <form:form action="/casadocodigo/produto" method="POST" commandName="produto"> --%>
<form:form action="${s:mvcUrl('PC#gravar').build() }" method="POST" commandName="produto">
<div>
<label>Titulo: </label><br><input type="text" name="titulo"/><form:errors path="titulo" />
</div>
<div>
<label>Descrição: </label><br><textarea rows="15" cols="40" name="descricao"></textarea><form:errors path="descricao" />
</div>
<div>
<label>Numero de Paginas: </label><br><input type="text" name="paginas" /><form:errors path="paginas" />
</div>
<div>
<label>Data Lançamento: </label><br><input type="text" name="dataLancamento"/><form:errors path="dataLancamento" />
</div>
<c:forEach items="${lista }" var="tipo" varStatus="status">
<div>
<label>${tipo } </label><br>
<input type="text" name="precos[${status.index }].valor" >
<input type="hidden" name="precos[${status.index }].tipo" value="${tipo }" >
</div>
</c:forEach>
<input type="submit" value="Cadastrar produto" />
</form:form>
</body>
</html>