在struts环境中使用validation框架出现ServletException的问题。

sui102 2004-11-25 06:10:08
服务器是resin3.0.8,在显示页面表单的时候报错。

页面报错信息:
500 Servlet Exception
javax.servlet.jsp.JspException: ServletException in '/phoneRecord/uploadRecords.jsp':
null
at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:921)
at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460)
at _jsp._common._layouts._classiclayout__jsp._jspService(/common/layouts/classicLayout.jsp:29)
at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
at com.caucho.jsp.Page.pageservice(Page.java:571)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:155)
at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:129)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:272)
at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:112)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:237)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:300)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:113)
at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:211)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:263)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:331)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:464)
at com.caucho.util.ThreadPool.run(ThreadPool.java:408)
at java.lang.Thread.run(Thread.java:534)

控制台信息:
[17:47:28.336] ServletException in '/phoneRecord/uploadRecords.jsp': null
[17:47:28.336] java.lang.NullPointerException
[17:47:28.336] at com.caucho.jsp.PageContextImpl.handlePageException(PageContextImpl.java:957)
[17:47:28.336] at _jsp._phonerecord._uploadrecords__jsp._jspService(_uploadrecords__jsp.java:147)
[17:47:28.336] at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
[17:47:28.336] at com.caucho.jsp.Page.pageservice(Page.java:571)
[17:47:28.336] at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:155)
[17:47:28.336] at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:12
9)
[17:47:28.336] at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:211)
[17:47:28.336] at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
[17:47:28.336] at com.caucho.server.webapp.RequestDispatcherImpl.include(RequestDispatcherImpl.java
:476)
[17:47:28.336] at com.caucho.server.webapp.RequestDispatcherImpl.include(RequestDispatcherImpl.java
:345)
[17:47:28.336] at com.caucho.jsp.PageContextImpl.include(PageContextImpl.java:807)
[17:47:28.336] at com.caucho.jsp.PageContextImpl.include(PageContextImpl.java:762)
[17:47:28.336] at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:101)
[17:47:28.336] at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:137)
[17:47:28.336] at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:758)
[17:47:28.336] at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:89
0)
[17:47:28.336] at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460)
[17:47:28.336] at _jsp._common._layouts._classiclayout__jsp._jspService(_classiclayout__jsp.java:74
)
[17:47:28.336] at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
[17:47:28.336] at com.caucho.jsp.Page.pageservice(Page.java:571)
[17:47:28.336] at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:155)
[17:47:28.336] at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:12
9)
[17:47:28.336] at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
[17:47:28.336] at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java
:272)
[17:47:28.336] at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java
:112)
[17:47:28.336] at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
[17:47:28.336] at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.jav
a:261)
[17:47:28.336] at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequest
Processor.java:237)
[17:47:28.336] at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestPr
ocessor.java:300)
[17:47:28.336] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
[17:47:28.336] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
[17:47:28.336] at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
[17:47:28.336] at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)
[17:47:28.336] at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
[17:47:28.336] at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:11
3)
[17:47:28.336] at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:211)
[17:47:28.336] at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177)
[17:47:28.336] at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
[17:47:28.336] at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:263)
[17:47:28.336] at com.caucho.server.port.TcpConnection.run(TcpConnection.java:331)
[17:47:28.336] at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:464)
[17:47:28.336] at com.caucho.util.ThreadPool.run(ThreadPool.java:408)
[17:47:28.336] at java.lang.Thread.run(Thread.java:534)
[17:47:28.336] Caused by: java.lang.NullPointerException
[17:47:28.336] at org.apache.struts.validator.Resources.getMessage(Resources.java:173)
[17:47:28.336] at org.apache.struts.taglib.html.JavascriptValidatorTag.createDynamicJavascript(Java
scriptValidatorTag.java:464)
[17:47:28.336] at org.apache.struts.taglib.html.JavascriptValidatorTag.renderJavascript(JavascriptV
alidatorTag.java:373)
[17:47:28.336] at org.apache.struts.taglib.html.JavascriptValidatorTag.doStartTag(JavascriptValidat
orTag.java:335)
[17:47:28.336] at _jsp._phonerecord._uploadrecords__jsp._jspService(_uploadrecords__jsp.java:97)
[17:47:28.336] ... 41 more

...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sui102 2004-12-15
  • 打赏
  • 举报
回复
这个不是配置插件的代码吗?已经加过了。要不服务器端验证也不会正常了。
miao_hong_bin 2004-11-30
  • 打赏
  • 举报
回复
struts-config.xml文件片段添加
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>
sui102 2004-11-26
  • 打赏
  • 举报
回复
自己顶!
xiaomaofantuan 2004-11-25
  • 打赏
  • 举报
回复
<html:javascript formName="uploadRecordsForm" dynamicJavascript="true" staticJavascript="false"/>

<%@ page contentType="application/x-javascript" %>
<html:javascript dynamicJavascript="false" staticJavascript="true"/>
sui102 2004-11-25
  • 打赏
  • 举报
回复
我的Jsp页面:
<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<html:html>
<html:messages id="msg" message="true" bundle="phoneRecord">
<bean:write name="msg"/><br/>
</html:messages>

<html:errors bundle="phoneRecord"/>
<html:javascript formName="uploadRecordsForm"/>
<html:form method="post" action="uploadRecords.do"
enctype="multipart/form-data" onsubmit="return validateUploadRecordsForm(this);">
<bean:message key="label.phoneRecord.upload.select" bundle="phoneRecord"/>
<html:file property="file"/> <html:submit/>

</html:form>

</html:html>

validation.xml文件片段:
<form name="uploadRecordsForm">
<field property="file" depends="required">
<msg name="required" key="label.phoneRecord.upload.noFile"/>
</field>
</form>

struts-config.xml文件片段:
<form-bean
name="uploadRecordsForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property
name="file"
type="org.apache.struts.upload.FormFile"/>
</form-bean>

在只采用服务器端校验的时候一切正常,在使用客户端校验的时候,整个页面不能显示。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧