首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

java.lang.ClassCastException,struts 中 html:errors/的问题

2014-01-26 
我在actionform 中是这样写validate的 但是一旦在输入页面中加入 html:errors/ 当输入&ldquoa&rdquo时

我在actionform 中是这样写validate的 但是一旦在输入页面中加入 <html:errors/> 当输入“a”时就提示错误异常 不加 <html:errors/> 就没问题 输入“a”时页面跳到输入页面 只不过错误信息没办法显示出来 这是为什么啊?

下面是actionform 中的 validate

public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){
ActionErrors errors= new ActionErrors();
if (name.equals( "a ")){

errors.add( "name ",new ActionMessage( "emp.name "));

}
return errors;
}

这是输入页面出现的错误提示:


The server encountered an internal error () that prevented it from fulfilling this request.

例外

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)


原因

java.lang.ClassCastException
org.apache.struts.taglib.html.ErrorsTag.doStartTag(ErrorsTag.java:215)
org.apache.jsp.index_jsp._jspx_meth_html_errors_0(index_jsp.java:223)
org.apache.jsp.index_jsp._jspx_meth_html_form_0(index_jsp.java:147)
org.apache.jsp.index_jsp._jspService(index_jsp.java:91)
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)



------解决方法--------------------------------------------------------
在资源配置文件中对emp.name赋上值了吗?
------解决方法--------------------------------------------------------
public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){
ActionErrors errors= new ActionErrors();
if (name.equals( "a ")){

errors.add( "name ",new ActionError( "emp.name "));

}
return errors;
}
 

        

热点排行