DynaActionForm在 struts-config。xml文件中代码如下:
<form-beans>
<form-bean name="loginActionForm" type ="com.struts.chaptertwo.LoginActionForm" />
<form-bean name="suggestionActionForm" type ="com.struts.chapterThree.SuggestionActionForm" />
<form-bean name ="customerRegistForm" type = "org.apache.struts.validator.DynaValidatorForm" >
<form-property name="login" type="java.lang.String"/>
<form-property name="password" type="java.lang.String"/>
<form-property name="isNameCheckBox" type="java.lang.String"/>
</form-bean>
</form-beans>loginAction中代码如下:
public ActionForward execute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response){
// CustomerRegistForm cform = (CustomerRegistForm)form;
// String login = cform.getLogin();
// String password = cform.getPassword();
// Boolean isNameCheckBox = Boolean.valueOf(cform.getString("isNameCheckBox"));
DynaActionForm dform = (DynaActionForm)form;
String login = dform.getString("login");
String password = dform.getString("password");
Boolean isNameCheckBox = Boolean.valueOf(dform.getString("isNameCheckBox"));
System.out.println(isNameCheckBox);
if(login.equals("test")&&password.equals("test")){
return mapping.findForward("success");
}else{
return mapping.getInputForward();
}
}报错如下:
严重: Servletaction的Servlet.service()发生意外(exception)
java.lang.IllegalArgumentException: Resources cannot be null.
at org.apache.commons.validator.Validator.<init>(Validator.java:188)
at org.apache.struts.validator.Resources.initValidator(Resources.java:475)
at org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:104)
at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:950)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:207)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)请问是什么原因?
<form-beans>
<form-bean name="loginActionForm" type ="com.struts.chaptertwo.LoginActionForm" />
<form-bean name="suggestionActionForm" type ="com.struts.chapterThree.SuggestionActionForm" />
<form-bean name ="customerRegistForm" type = "org.apache.struts.validator.DynaValidatorForm" >
<form-property name="login" type="java.lang.String"/>
<form-property name="password" type="java.lang.String"/>
<form-property name="isNameCheckBox" type="java.lang.String"/>
</form-bean>
</form-beans>loginAction中代码如下:
public ActionForward execute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response){
// CustomerRegistForm cform = (CustomerRegistForm)form;
// String login = cform.getLogin();
// String password = cform.getPassword();
// Boolean isNameCheckBox = Boolean.valueOf(cform.getString("isNameCheckBox"));
DynaActionForm dform = (DynaActionForm)form;
String login = dform.getString("login");
String password = dform.getString("password");
Boolean isNameCheckBox = Boolean.valueOf(dform.getString("isNameCheckBox"));
System.out.println(isNameCheckBox);
if(login.equals("test")&&password.equals("test")){
return mapping.findForward("success");
}else{
return mapping.getInputForward();
}
}报错如下:
严重: Servletaction的Servlet.service()发生意外(exception)
java.lang.IllegalArgumentException: Resources cannot be null.
at org.apache.commons.validator.Validator.<init>(Validator.java:188)
at org.apache.struts.validator.Resources.initValidator(Resources.java:475)
at org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:104)
at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:950)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:207)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)请问是什么原因?
解决方案 »
- MyEclipse Massive Form(SWING)的问题
- jsp 判断问题 求高手来!!
- websphere 6.1 加载db2驱动时的错误
- 一个struts 的错语提示,小弟一菜鸟
- 一个困扰我很久的问题,多人如何协同开发struts项目
- 高手请进:一个比较深的语法问题
- struts:No collection found的怪现象?
- struts的action如何访问在JSP里面动态生成的checkbox
- 为什么会出现错误: java.rmi.AccessException: CORBA NO_PERMISSION 0 No; nested exception
- 什么IDE最好
- 静态页面中怎么引入动态页面吖
- hibernate中的getHibernateTemplate().update()错误
如果是空的说明你的xml中的action配置是有问题的。
结论:
将action配置改为 validate=“false” 即可