您的位置:程序门 -> java -> j2ee / ejb / jms



求教:validate的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


求教:validate的问题
发表于:2007-08-20 18:41:24 楼主
在myeclipse中创建了struts1.1的框架。
validate方法如下:
public   actionerrors   validate(actionmapping   mapping,
httpservletrequest   request)   {
actionerrors   errors=new   actionerrors();
if(username.equalsignorecase( "a ")){
errors.add( "username ",   new   actionmessage( "jsp.user.name.err "));
}
return   errors;
每次如果进入验证了的话就会报下面的错误。
各位帮我看一下有可能是哪里的问题,如果需要程序的其他部分我再贴。谢谢大家。
org.apache.jasper.jasperexception:   org.apache.struts.action.actionmessage
org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:372)
org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:292)
org.apache.jasper.servlet.jspservlet.service(jspservlet.java:236)
javax.servlet.http.httpservlet.service(httpservlet.java:802)
org.apache.struts.action.requestprocessor.doforward(requestprocessor.java:1069)
org.apache.struts.action.requestprocessor.internalmodulerelativeforward(requestprocessor.java:1012)
org.apache.struts.action.requestprocessor.processvalidate(requestprocessor.java:980)
org.apache.struts.action.requestprocessor.process(requestprocessor.java:255)
org.apache.struts.action.actionservlet.process(actionservlet.java:1482)
org.apache.struts.action.actionservlet.dopost(actionservlet.java:525)
javax.servlet.http.httpservlet.service(httpservlet.java:709)
javax.servlet.http.httpservlet.service(httpservlet.java:802)


root   cause  

java.lang.classcastexception:   org.apache.struts.action.actionmessage
org.apache.struts.taglib.html.errorstag.dostarttag(errorstag.java:215)
org.apache.jsp.user_jsp._jspx_meth_html_errors_0(user_jsp.java:155)
org.apache.jsp.user_jsp._jspx_meth_html_form_0(user_jsp.java:108)
org.apache.jsp.user_jsp._jspservice(user_jsp.java:74)
org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:94)
javax.servlet.http.httpservlet.service(httpservlet.java:802)
org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:324)
org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:292)
org.apache.jasper.servlet.jspservlet.service(jspservlet.java:236)
javax.servlet.http.httpservlet.service(httpservlet.java:802)
org.apache.struts.action.requestprocessor.doforward(requestprocessor.java:1069)
org.apache.struts.action.requestprocessor.internalmodulerelativeforward(requestprocessor.java:1012)
org.apache.struts.action.requestprocessor.processvalidate(requestprocessor.java:980)
org.apache.struts.action.requestprocessor.process(requestprocessor.java:255)
org.apache.struts.action.actionservlet.process(actionservlet.java:1482)
org.apache.struts.action.actionservlet.dopost(actionservlet.java:525)
javax.servlet.http.httpservlet.service(httpservlet.java:709)
javax.servlet.http.httpservlet.service(httpservlet.java:802)

发表于:2007-08-20 18:44:391楼 得分:0
页面代码贴上来
发表于:2007-08-20 18:46:042楼 得分:0
<html>  
<head>
<title> jsp   for   userform   form </title>
</head>
<body>
<html:form   action= "/user ">
username   :   <html:text   property= "username "/> <html:errors   property= "username "/> <br/>
<html:submit/> <html:cancel/>
</html:form>
</body>
</html>
发表于:2007-08-20 18:53:063楼 得分:0
肯定是页面上的错误
从异常轨迹上看是 <html:errors   /> 这个标记出错了.
发表于:2007-08-20 18:54:114楼 得分:0
看起来好像是actionmessage   有什么错误。不应该啊。
<message-resources   parameter= "com.lining.struts.applicationresources "   />

里面只有一句话:

jsp.user.name.err=name   error!
发表于:2007-08-20 18:56:435楼 得分:0
页面是自动生成的,没有任何发动,应该不会有错吧。
还有可能是别的什么原因吗?
发表于:2007-08-20 19:00:096楼 得分:0
java.lang.classcastexception:   org.apache.struts.action.actionmessage
转换错误

org.apache.struts.taglib.html.errorstag.dostarttag(errorstag.java:215)
在解析这个标记时

org.apache.jasper.jasperexception:   org.apache.struts.action.actionmessage
发生在编译jsp页面时
发表于:2007-08-20 19:28:177楼 得分:0
配置文件贴上来
struts-config.xml
发表于:2007-08-20 21:56:438楼 得分:0
谢谢你。
我经过100多次的对比,似乎发现了原因。
这个struts1.1   的validate   方法中,actionerrors.add();如果接收的是个actionerror的话,就没错了,如果接收的是个actionmessage,就会报上面的错误。
是不是1.2   就没有这样的问题了?没有用过。
发表于:2007-08-21 13:15:289楼 得分:0
actionerror在1.2中是不推荐使用的,到1.3中就已经不存在了,这个类被actionmessage代替


快速检索

最新资讯
热门点击