请高手帮忙利用Struts框架写了一个表单验证程序,JSP、ActionForm和资源文件如下:
Jsp文件:login.jsp
<%@ page language="java"%>
<%@ page contentType="text/html;charser=GB2312"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%> 
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<html> 
<head>
<title>JSP for loginForm form</title>
</head>
<body>
<html:form action="/login">
name : <html:text property="name"/>br/>
password : <html:password property="password"/>br/>
<html:submit/><html:cancel/>
</html:form>
<html:errors property="errorName" bundle="errorsName"/>
</body>
</html>LoginForm具体代码:LoginForm.java
public ActionErrors validate(
ActionMapping mapping,
HttpServletRequest request) {
ActionErrors errors=new ActionErrors();
if((name==null)||(name.length()<1))
errors.add("errorName",new ActionMessage("wtoa.no.name.error"));
return errors;
}资源文件:ApplicationResources.properties
wtoa.no.name.error=error's!资源文件配置:struts-config.xml
<message-resources key="errorsName" parameter="com.yourcompany.struts.ApplicationResources" />运行后调试不输入任何字符,正确运行结果应在login.jsp上显示errors!但结果却出错了,出现了:
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
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:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.ClassCastException
org.apache.struts.taglib.html.ErrorsTag.doStartTag(ErrorsTag.java:215)
org.apache.jsp.form.login_jsp._jspx_meth_html_errors_0(login_jsp.java:208)
org.apache.jsp.form.login_jsp._jspService(login_jsp.java:85)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
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:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
错误,到底是什么问题,还是说我程序已经正确了,结果就是这样,请各位帮一下忙,谢谢!