先贴出代码:
jsp页面的:login.jsp<body>
<html:errors/>
<html:form action="login.do" method="post" focus="username">
用户名 : <html:text property="username"/><br/><html:errors property="username" />
密码: <html:password property="password"/><br/><html:errors property="password"/>
<html:submit value='提交'/><html:reset value='重置'></html:reset>
</html:form>
</body>FormBean的代码:public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors actionerrors=new ActionErrors();
if(getUsername()==null||getUsername().length()<1)
{
actionerrors.add("username",new ActionMessage("username-null"));
}
if(password==null||"".equals(password))
{
actionerrors.add("password",new ActionMessage("password-null"));
}
return actionerrors;
}Struts-config.xml文件:<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="com.view.struts.form.LoginForm" />
<form-bean name="SearchForm" type="com.view.struts.form.SearchForm" /> </form-beans> <global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="session"
validate="true"
type="com.view.struts.action.LoginAction">
<forward name="error" path="/error.jsp" />
<forward name="success" path="/search.jsp" />
</action>
<action
attribute="SearchForm"
input="/search.jsp"
name="SearchForm"
path="/search"
scope="session"
type="com.view.struts.action.SearchAction" >
<forward name="found-data" path="/show.jsp"/>
<forward name="no-data" path="/nodata.jsp"/>
</action>
</action-mappings> <message-resources parameter="com.view.struts.ApplicationResources" />
</struts-config>
报错为:
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: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.taglib.html.ErrorsTag.doStartTag(ErrorsTag.java:215)
org.apache.jsp.login_jsp._jspx_meth_html_errors_0(login_jsp.java:123)
org.apache.jsp.login_jsp._jspService(login_jsp.java:93)
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)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs
最后感谢大家帮忙
jsp页面的:login.jsp<body>
<html:errors/>
<html:form action="login.do" method="post" focus="username">
用户名 : <html:text property="username"/><br/><html:errors property="username" />
密码: <html:password property="password"/><br/><html:errors property="password"/>
<html:submit value='提交'/><html:reset value='重置'></html:reset>
</html:form>
</body>FormBean的代码:public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors actionerrors=new ActionErrors();
if(getUsername()==null||getUsername().length()<1)
{
actionerrors.add("username",new ActionMessage("username-null"));
}
if(password==null||"".equals(password))
{
actionerrors.add("password",new ActionMessage("password-null"));
}
return actionerrors;
}Struts-config.xml文件:<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="com.view.struts.form.LoginForm" />
<form-bean name="SearchForm" type="com.view.struts.form.SearchForm" /> </form-beans> <global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="session"
validate="true"
type="com.view.struts.action.LoginAction">
<forward name="error" path="/error.jsp" />
<forward name="success" path="/search.jsp" />
</action>
<action
attribute="SearchForm"
input="/search.jsp"
name="SearchForm"
path="/search"
scope="session"
type="com.view.struts.action.SearchAction" >
<forward name="found-data" path="/show.jsp"/>
<forward name="no-data" path="/nodata.jsp"/>
</action>
</action-mappings> <message-resources parameter="com.view.struts.ApplicationResources" />
</struts-config>
报错为:
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: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.taglib.html.ErrorsTag.doStartTag(ErrorsTag.java:215)
org.apache.jsp.login_jsp._jspx_meth_html_errors_0(login_jsp.java:123)
org.apache.jsp.login_jsp._jspService(login_jsp.java:93)
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)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs
最后感谢大家帮忙
应该用new ActionError吧
看到一个这个,是不是哪里转型错了啦?而且这样写validate不行哦,永远不能通过验证。
他没用validator框架,只是重写form的validate方法