Pessoal, estou usando um desss tutoriais de Spring 2 + Struts2 e estou usando Hibernate tb ! (Não quero usar Ajax).
Seguinte, tenho um jsp (index.jsp), que se campos todos ok => vai para listar.jsp.
Se campos nao ok gostaria que ficasse no index.jsp e mostrasse erros na tela.
O tutorial fala para criar um “NomeAction-salvar-validation.xml”,…
Criei e coloquei as validações do mesmo neste xml. (mais abaixo)
Ao rodar a aplicacao e mandar submeter com campos preenchidos => ok, vai para o outro jsp => SEM PROBLEMA.
Ao rodar a aplicacao e mandar submeter com campos vazios, NÃO aparecem as validacoes na tela (Campo obrigatório) e ainda cai com uma -
javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not insert… etc etc,…
COMO colocar as validações inseridas no validation.xml aparecendo na tela ???
Codigos:
JSP INDEX.JSP
(index.jsp - se ok deve ir para listar.jsp, se nao ok = deve ficar no mesmo jsp mostrando erros. No momento soh funciona se ok)
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
<html>
<head>
<sx:head />
</head>
<body>
<div style="width: 300px;border-style: solid">
<p>Projeto</p>
<s:form action="salvar">
<s:textfield id="id" name="projeto.id" cssStyle="display:none" required="true"/>
<s:textfield id="nome" label="Nome" name="projeto.nome" required="true"/>
<s:textfield id="data" label="Data" name="projeto.data" required="true"/>
<s:textfield id="url" label="URL" name="projeto.url" required="true"/>
<s:textfield id="linguagem" label="Linguagem" name="projeto.linguagem" required="true"/>
<s:submit/>
</s:form>
</div>
</body>
</html>
Validation.xml
<validators>
<field name="projeto.nome">
<field-validator type="requiredstring">
<message>Campo Nome é obrigatório</message>
</field-validator>
</field>
<field name="projeto.data">
<field-validator type="requiredstring">
<message>Campo Data é obrigatório</message>
</field-validator>
</field>
<field name="projeto.url">
<field-validator type="requiredstring">
<message>Campo URL é obrigatório</message>
</field-validator>
</field>
</validators>
STRUTS.XML
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<constant name="struts.devMode" value="false" />
<package name="projeto" extends="struts-default">
<action name="listar" class="projetoAction" method="listar">
<result>/jsp/listar.jsp</result>
</action>
<action name="remover" class="projetoAction" method="remover">
<result type="redirect">listar.action</result>
</action>
<action name="salvar" class="projetoAction" method="salvar">
<result type="redirect">listar.action</result>
</action>
<action name="alterar" class="projetoAction" method="alterar">
<result type="redirect">listar.action</result>
</action>
</package>
</struts>

