Oops. Figured it out. I was putting a string literal in the
ActionError constructor instead of message resource references.
Sorry for the noise.
Thanks,
Eric
On Jun 28, 2004, at 2:00 PM, Eric Schneider wrote:
Hi,
I'm getting a error that I'm a bit confused about. I believe I'm
doing everything properly. A NullPointerException is thrown (trace
pasted below) when using the <html:messages> tag. Here's what I've
done step by step.
In my form bean, I have a validate method that creates a list of
ActionErrors.
ActionErrors errors = new ActionErrors();
if (StringUtils.isEmpty(getSubject())) {
errors.add("subject", new ActionError("Please provide a valid
subject."));
}
if (StringUtils.isEmpty(getDescription())) {
errors.add("description", new ActionError("Please provide a valid
message description."));
}
I call this validate method in my action class:
errors = topicForm.validate(mapping, request);
if (!errors.isEmpty()) {
saveErrors(request, errors);
saveToken(request);
return (new ActionForward(mapping.getInput()));
}
On my jsp I'm using the following tags to present the errors:
<logic:messagesPresent>
The following errors have occured.
<html:messages id="error">
<li><c:out value="${error}"/></li>
</html:messages>
<hr>
</logic:messagesPresent>
It appears that the <html:messages> tag is what makes it blow up.
Anyone have any ideas?
Thanks,
eric
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:393)
at
org.apache.jasper.runtime.PageContextImpl.setAttribute(PageContextImpl.
java:234)
at
org.apache.struts.taglib.html.MessagesTag.doAfterBody(MessagesTag.java:
312)
at org.apache.jsp.PostTopic_jsp._jspService(PostTopic_jsp.java:180)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.j
ava:210)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispat
cher.java:684)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDis
patcher.java:432)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispa
tcher.java:356)
at
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.ja
va:1069)
at
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestPro
cessor.java:274)
at
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestP
rocessor.java:455)
at
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(Tile
sRequestProcessor.java:320)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java
:279)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:
1482)
at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
ationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
terChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
ve.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
ve.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:643)
at
org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurit
yMgrRealm.java:220)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.j
ava:246)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:641)
at
org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(Containe
rStatsValve.java:76)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2417)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
a:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherV
alve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
a:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:641)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityA
ssociationValve.java:65)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
577)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
.java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:
197)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
781)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
Connection(Http11Protocol.java:549)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:
605)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPoo
l.java:677)
at java.lang.Thread.run(Thread.java:552)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]