GUJ
Notícias, artigos e o maior fórum brasileiro sobre Java
home
fórum
notícias
tópicos recentes
empregos
artigos
Bem-vindo ao GUJ.
Crie seu login
, ou digite-o para logar no site.
Usuário:
Senha:
Problema com validação em Struts 2
Índice dos Fóruns
»
Ferramentas, Frameworks e Utilitários
Autor
Mensagem
25/09/2009 17:36:50
Assunto:
Problema com validação em Struts 2
ThiagoWorldCoder
JavaEvangelist
Membro desde: 30/11/2007 10:23:26
Mensagens: 442
Localização: Brazil
Offline
Olá!!
Na minha tela de login eu consigo fazer a validação normalmente!
mas dentro da área do usuário, tem a área de cadastro de alunos.
A pessoa clica em cadastrar Alunos, e o formulário que está em outra página é carregado para a tag sx:div que está na área do usuário.
O problema é que ao tentar salvar com os campos errados, pra testar a validação, as mensagens de validação não aparecem.
o nome do xml com as validações está igual ao nome do action que eu chamo.
Por que isso está acontecendo?
tela da área do usuário: main.jsp
<%@ taglib prefix="s" uri="/struts-tags" %> <%@ taglib prefix="sx" uri="/struts-dojo-tags" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link href="css/posicionamento.css" rel="stylesheet" type="text/css"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <sx:head/> <script type="text/javascript"> function showSubMenu(menu) { document.getElementById(menu).style.visibility = 'visible'; } function hideSubMenu() { document.getElementById('subMenu1').style.visibility = 'hidden'; } </script> </head> <body> <div id="logout"> <s:url id="sair" action="sair"> <s:param name="sair">sair</s:param> </s:url> <s:a href="%{sair}"><s:text name="mainArea.logout" /></s:a><br /> </div> <s:if test="%{'language.chose'} == Português"> <s:property value="pessoa.idtipo.nome" /> </s:if> <s:elseif test="%{'language.chose'} == English"> <s:property value="pessoa.idtipo.name" /> </s:elseif> <hr id="linha" noshade="noshade" onmouseover="hideSubMenu()" /> <div id="menu" style="background-image: url('images/fundo_menu.png'); background-repeat: repeat;"> <table border="0"> <tr> <td width="100px"> <sx:a cssClass="link_menu" href="#" onmouseover="showSubMenu('subMenu1')"> <s:property value="%{getText('menu.1')}" /> </sx:a> </td> <td width="100px"> <sx:a cssClass="link_menu" href="#" onmouseover="showSubMenu('subMenu2')"> <s:property value="%{getText('menu.2')}" /> </sx:a> </td> <td width="100px"> <sx:a cssClass="link_menu" href="#" onmouseover="showSubMenu('subMenu3')"> <s:property value="%{getText('menu.3')}" /> </sx:a> </td> </tr> </table> </div> <div id="subMenu1" style="background-image: url('images/fundo_menu.png'); background-repeat: repeat;"> <table border="0"> <tr> <td> <s:url id="cadastrarAluno" action="telaCadastrarAluno" /> <sx:a cssClass="link_menu" href="%{cadastrarAluno}" targets="conteudo" onclick="hideSubMenu()"> <s:property value="%{getText('menu.1.1')}" /> </sx:a> </td> </tr> <tr> <td> <s:url id="pesquisarAluno" action="pesquisarAluno" /> <sx:a cssClass="link_menu" href="%{pesquisarAluno}" targets="conteudo" onmouseout="hideSubMenu()"> <s:property value="%{getText('menu.1.2')}" /> </sx:a> </td> </tr> </table> </div> <div id="pesquisar" style="border-color: navy; border: thin;"> <s:form id="pesquisa"> <s:property value="getText('textfield.submit')"/> <s:radio name="opcao" list="pesquisa" key="comboBox.by"/> <s:textfield name="expressao" size="30" key="textField.name" /> <sx:submit formId="pesquisa" key="textfield.execute" /> </s:form> </div> <s:div id="conteudo" /> <!-- Aqui que será carregado o formulário --> </body> </html>
cadastro que será incluso: cadastrarAluno.jsp
<%@ taglib prefix="s" uri="/struts-tags" %> <%@ taglib prefix="sx" uri="/struts-dojo-tags" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <s:form id="cadastrarAluno" action="cadastrarAluno" validate="true"> <s:textfield key="label.user" name="pessoa.usuario" required="true" maxlength="20" size="20" /> <s:password key="label.password" name="pessoa.senha" required="true" maxlength="20" size="20" /> <s:password key="label.confirmPassword" name="pessoa.senha" required="true" maxlength="20" size="20" /> <s:textfield key="label.bornDate" name="pessoa.nascimento" required="true" /> <s:textfield key="label.email" name="pessoa.email" maxlength="40" size="40" /> <sx:submit formId="cadastrarAluno" key="button.save" align="right" /> </s:form> <s:actionerror cssStyle="color:red" /> <sx:a cssClass="linkNextButton" href="cadastroAlunoPasso2" targets="conteudo"><img class="imageNextButton" src="images/arrowRight.png" /></sx:a>
CadastroAlunoAction-validation.xml
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <field name="pessoa.nascimento"> <field-validator type="required"> <message>%{getText('validation.required')}</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">10</param> <param name="trim">true</param> <message>%{getText('login.error.txtFieldUser.maxCaracter')}</message> </field-validator> <field-validator type="date"> <message>%{getText('validation.date')}</message> </field-validator> </field> <field name="pessoa.email"> <field-validator type="email"> <message>%{getText('validation.email')}</message> </field-validator> </field> </validators>
struts.xml
<!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.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="false" /> <constant name="struts.custom.i18n.resources" value="language" /> <package name="default" extends="struts-default"> <!-- criando uma pilha de interceptadores que é pilha "defaultStack" + o interceptador que criamos --> <interceptors> <interceptor name="authorizationInterceptor" class="br.com.esporte.interceptadores.AuthorizationInterceptor" /> <interceptor name="locale" class="br.com.esporte.interceptadores.LocaleInterceptor" /> <interceptor-stack name="gujStack"> <interceptor-ref name="locale"/> <interceptor-ref name="defaultStack"/> </interceptor-stack> </interceptors> <default-interceptor-ref name="gujStack"/> <!-- <default-action-ref name="main" />--> <action name="main"> <result>pages/main.jsp</result> </action> <action name="changeLanguage"> <result>index.jsp</result> </action> <action name="sair" method="sair" class="br.com.esporte.action.SecurityAction"> <interceptor-ref name="authorizationInterceptor" /> <result type="redirectAction">main</result> </action> <action name="logar" method="logar" class="br.com.esporte.action.SecurityAction"> <result name="adm" type="chain">adm</result> <result name="prf" type="chain">prf</result> <result name="aln" type="chain">aln</result> <result name="input">pages/main.jsp</result> <result name="error">pages/main.jsp</result> </action> <action name="adm"> <interceptor-ref name="authorizationInterceptor" /> <result>safeArea/adm/main.jsp</result> <result name="input">pages/main.jsp</result> </action> <action name="telaCadastrarAluno"> <interceptor-ref name="authorizationInterceptor" /> <result>safeArea/cadastrarAluno.jsp</result> <result name="input">pages/main.jsp</result> </action> <action name="cadastrarAluno" method="cadastrarAluno" class="br.com.esporte.action.CadastroAlunoAction"> <interceptor-ref name="authorizationInterceptor" /> <result>safeArea/cadastrarAluno.jsp</result> <result name="input">safeArea/adm/main.jsp</result> </action> <action name="prf"> <interceptor-ref name="authorizationInterceptor" /> <result>safeArea/prf/main.jsp</result> <result name="input">pages/main.jsp</result> </action> <action name="aln"> <interceptor-ref name="authorizationInterceptor" /> <result>safeArea/aln/main.jsp</result> <result name="input">pages/main.jsp</result> </action> </package> </struts>
SCJP 6.0 - SUN CERTIFIED JAVA PROGRAMMER
Codificando o mundo para uma vida melhor!!
Índice dos Fóruns
»
Ferramentas, Frameworks e Utilitários
Ir para:
Selecione um Fórum
Notícias
Assuntos gerais (Off-topic)
MundoJ - Artigos, Notícias e Debates
Artigos e Tutoriais
Java Básico
Java Avançado
Ferramentas, Frameworks e Utilitários
Desenvolvimento Web
Interface Gráfica
Google Android e Java Micro Edition (ME)
Certificação Java
Persistência: Hibernate, JPA, JDBC e outros
Java Enterprise Edition (Java EE)
Frameworks e Bibliotecas brasileiros
RIA - Flex, JavaFX e outros
Arquitetura de Sistemas
Metodologias de Desenvolvimento e Testes de Software
JavaScript
Ruby & Ruby on Rails
Outras Linguagens
Powered by
JForum 2.1.8
©
JForum Team