foxpvPJ 29 de mai. de 2006
tipo.. esse <html:errors/> soh vai fazer aparecer algo na tela quando eu tiver algum erro no validate, quando eu não usei o tiles colocando tudo no mesmo jsp, funcionou blz....
mais (edit)....
descobri que este problema acontece devido a alguma problema no forward, como eu estou usando o Struts-validate, quando meu form não passa na validação ele volta direto pro jsp, não passa pelos action, aí to achando e tem algumca relação com isso...
a msg de erro é a seguinte:
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:1023)
org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:345)
org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:98
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:207)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NullPointerException
org.apache.struts.taglib.tiles.InsertTag.processName(InsertTag.java:527)
org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:482)
org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:43
org.apache.jsp.view.usuarioNovo_jsp._jspx_meth_tiles_get_0(org.apache.jsp.view.usuarioNovo_jsp:185)
org.apache.jsp.view.usuarioNovo_jsp._jspService(org.apache.jsp.view.usuarioNovo_jsp:114)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:1023)
org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:345)
org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:98
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:207)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
[size="11"][color="red"]* Editado: Lembre-se de utilizar BBCode em seus códigos - marcossousa[/color][/size] :joia:
lipe82PJ 1 de jun. de 2006
Bom cara, a minha página de erros está assim. Vê se te ajuda um pouco…
#%@ taglib uri="/tags/struts-bean" prefix="bean" %#
#%@ taglib uri="/tags/struts-html" prefix="html" %#
#%@ taglib uri="/tags/struts-logic" prefix="logic" %#
#style type='text/css'#@import url( '/rhmasterweb/estilos/default.css' );#/style#
#html:html locale="true"#
#head#
#title##bean:message key="erro.titulo"/##/title#
#html:base/#
#/head#
#body#
#center#
#blockquote#
#h1##font size="30"##bean:message key="erro.titulo"/##/font##/h1#
#table##tr##td#
#logic:messagesPresent#
#ul#
#html:messages id="error"#
#li##h3##bean:write name="error"/##/h3##/li#
#/html:messages#
#/ul#
#/logic:messagesPresent#
#/td##/tr##/table#
#/blockquote#
#br/#
#html:button property="voltar" onclick="javascript:history.go(-1);" styleId="voltar" styleClass="botao"##bean:message key="prompt.voltar"/##/html:button#
#/center#
#/body#
#/html:html#
Eu vou adicionando e lançando os erros assim:
errors.add( ActionErrors.GLOBAL_ERROR, new ActionError("errors.slfam.duplicado"));
...
if( !errors.isEmpty() ) {
saveErrors( request, errors );
System.out.println("****** error ******");
System.out.println( errors.hashCode() );
System.out.println( errors.size() );
System.out.println( errors.toString() );
return ( mapping.findForward("error") );
} else {
return ( mapping.findForward("success") );
}