Olá!
Estou usando Struts 2.
Ao tentar fazer validação do meu formulário, pesquisei e segui os passos da apostila da Caelum FJ-21 que tem disponível para download.
1º - Coloquei a notação @Validations acima da classe SalvaProcessoAction em seguida fiz um extends para ActionSupport:
@Validations(requiredStrings={@RequiredStringValidator(fieldName="processo.codProcesso",message="Digite o código do processo!")})publicclassSalvaProcessoActionextendsActionSupport{/*...restantedaaction*/
2º - Logo depois coloquei o meu Result como name "input":
@Action(value="salva-processo",results={@Result(name="ok",location="/jsp/salva-andamento.jsp"),@Result(name="input",location="/jsp/salva-processo.jsp")})publicStringexecute(){/*..minhas instancias com Try Catch.*/
Amigo você colocou a tag <s:head/> dentro de seu ?
Todas as suas bibliotecas estão corretas?
Abraços.
E
elberlima
Olá!
eu coloquei da seguinte forma:
<%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@tagliburi="http://java.sun.com/jsp/jstl/fmt"prefix="fmt"%><%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%><%@tagliburi="/struts-tags"prefix="s"%><%@tagliburi="/struts-dojo-tags"prefix="sx"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Cadastro de Processo</title><s:head/></head><body><s:fielderrorfieldName="processo.codProcesso"/><formaction="salva-processo"method="post"><table><tr><td>Processo:<fontcolor="red">*</font></td><td><inputtype="text"name="processo.codProcesso"maxlength="55"size="55"/></td></tr>
J
jyoshiriro
Amigo, se teu projeto ainda tá no inicio, ainda há tempo de se livrar da furada das “struts-dojo-tags”. São uma bomba relógio!
Prefira usar o Jquery-plugin que apesar de não ser oficial do framework é muito estável, existe há anos, tem muito mais componentes e usa Jquery (quase sempre a versão mais atual) ao invés do Dojo :? .
J
jyoshiriro
E quanto ao erro, parece ser bug do framework. Qual versão está usando?
E
elberlima
Eu ja desisti do Dojo rsrsrsrs… apenas esqueci de retirar a taglib.
A versão é struts2-core-2.2.3.jar
J
jyoshiriro
Blz.
Tenta apenas
<s:fielderror/>
E vê se rola.
E
elberlima
elberlima:
Eu ja desisti do Dojo rsrsrsrs… apenas esqueci de retirar a taglib.
A versão é 2.2.3
logo depois ao atualizar a página volto para o primeiro erro.
J
jyoshiriro
Ih rapaz!
Amigo, dou aulas de programação Web numa faculdade. E esse mesmíssimo erro ocorreu no note de apenas 1 aluno.
Tudo estava funcionando perfeitamente com ele. Dai, de uma hora para outra, mesmo sem fechar o Netbeans nem nada, começou a dar esse erro. Nem fechando o Netbeans nem reininciando o note resolveu. Chegamos à conclusão de que era bug no Netbeans. Ele ficou de reintalar a IDE e me dizer se resolveu.
Você usa o Netbeans 7.1 p/ Windows (é o que ele usa) ?
E
elberlima
Na verdade eu estou usando o Eclipse.
D
drsmachado
Posta a lista dos jars que está utilizando
J
jyoshiriro
Agora me deu medo rsrsrsrs
Amigo, você tem outras JSP com taglibs que funcionam?
Do projeto do meu aluno todas as JSP, sem exceção, pararam de funcionar.
E
elberlima
kkkkk… deu medo foi boa! kkk…
Todas as JSP Funcionam suas Actions (insert,select,update), só não funciona esta que eu estou começando a tentar validar rs
D
drsmachado
jyoshiriro:
Agora me deu medo rsrsrsrs
Amigo, você tem outras JSP com taglibs que funcionam?
Do projeto do meu aluno todas as JSP, sem exceção, pararam de funcionar.
Isso não me parece bug de IDE, muito mais para problema com as libs que ele está utilizando.
A freemarker é uma “bomba relógio” também. E é nela que está sendo acusado o erro…
E
elberlima
drsmachado:
jyoshiriro:
Agora me deu medo rsrsrsrs
Amigo, você tem outras JSP com taglibs que funcionam?
Do projeto do meu aluno todas as JSP, sem exceção, pararam de funcionar.
Isso não me parece bug de IDE, muito mais para problema com as libs que ele está utilizando.
A freemarker é uma “bomba relógio” também. E é nela que está sendo acusado o erro…
Atualizando para a versão 2.3.3 deve resolver o problema?
J
jyoshiriro
Eu faria esse teste
E
elberlima
Pessoal, tentei atualizar as libs e nada de resultado positivo =/
Não teria que configurar este template que é apresentado no erro não?
Cara, tem alguma coisa muito errada com teu projeto…
Aparentemente não tem nada errado.
D
drsmachado
Uma coisa que pode não ter nada a ver, as outras jsps estão sem a taglib do dojo?
E
elberlima
As outras JSP’s estão com as mesmas taglibs…
D
drsmachado
Bom, isso está muito estranho.
Eu até sugeriria refazer tanto a action quando a jsp, mas não sei se funcionará. Está mesmo na loteria agora.
E
elberlima
Pessoal,
o que estava impedindo a validação do meu projeto era um arquivo chamado: struts.properties. Dentro dele eu tinha colocado:
struts.i18n.encoding=IS0-8859-1
para que as minhas informações que estão sendo passadas pela minha jsp fossem armazenadas no banco com caracteres especiais. Ao retirar este, minhas validações passaram a funcionar normalmente.
E
elberlima
OBRIGADO A TODOS PELA AJUDA!
E
elberlima
Galera só para apresentar a resposta:
O arquivo de configuração do struts.properties estava incorreto, segue abaixo configuração correta: