CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

struts 表单验证问题

楼主JetSnid(gordanyang)2005-07-03 10:15:28 在 Java / 框架、开源 提问

HelloForm中使用validate进行验证.  
  public   ActionErrors   validate(  
  ActionMapping   mapping,  
  HttpServletRequest   request)   {  
   
  ActionErrors   errors   =   new   ActionErrors();  
   
  if   (   username   ==   null   ||   username.length()   <   1){  
  errors.add("username",new   ActionMessage("hello.no.username.error"));  
  }  
  return   errors;  
  }  
   
  hello.jsp调用  
  <html:html   locale="true">  
      <head>  
          <title><bean:message   key="hello.jsp.title"/></title>  
          <html:base/>  
      </head>  
   
      <body   bgcolor="white"><p>  
          <h2><bean:message   key="hello.jsp.page.heading"/></h2><p>  
        <html:errors/><p>    
   
          <logic:present   name="personbean"   scope="request">  
                <h2>  
                    <bean:message   key="hello.jsp.page.hello"/>  
                    <bean:write   name="personbean"   property="username"   />!<p>  
                </h2>  
          </logic:present>  
   
          <html:form   action="/hello"   focus="username"   >  
              <bean:message   key="hello.jsp.prompt.person"/>  
              <html:text   property="username"   size="16"   maxlength="16"/><br>  
              <html:submit   property="submit"   value="Submit"/>  
              <html:reset/>  
   
          </html:form>  
      </body>  
  </html:html>  
   
  当输入空的用户名后,系统报错  
  java.lang.ClassCastException  
  org.apache.struts.taglib.html.ErrorsTag.doStartTag(ErrorsTag.java:215)  
  org.apache.jsp.hello_jsp._jspx_meth_html_errors_0(hello_jsp.java:210)  
  org.apache.jsp.hello_jsp._jspx_meth_html_html_0(hello_jsp.java:134)  
  org.apache.jsp.hello_jsp._jspService(hello_jsp.java:89)  
  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)  
  调试后进入HelloForm的validate方法,其返回了errors对像,但是在hello.jsp中好像不能使用.  
   
   
  问题点数:50、回复次数:5Top

1 楼lifeng800(j2ee学习中)回复于 2005-07-03 11:20:16 得分 0

up  
   
  好象是类型不匹配!Top

2 楼BlueHand(BlueHand)回复于 2005-07-04 09:32:36 得分 0

代码开起来没什么问题,  
  你把配置文件贴出来看看,struts-config.xmlTop

3 楼liqian008(理智的愤青)回复于 2005-07-04 11:24:19 得分 50

改为errors.add("username",new   ActionError("hello.no.username.error"))试试  
   
  Top

4 楼junnly()回复于 2005-07-04 14:55:30 得分 0

不明白为什么不用JavaScript????????Top

5 楼JetSnid(gordanyang)回复于 2005-07-04 23:42:55 得分 0

多谢各位了。Top

相关问题

  • struts表单验证
  • Struts表单验证问题!
  • Struts表单的javascript验证问题
  • struts验证表单问题,来接分吧同志们。
  • struts中表单的验证方法,validator好还是javascript?
  • struts 表单验证出现奇怪问题
  • javascript 验证表单??
  • 表单的验证。
  • struts验证:如何在验证未通过时页面依旧保留前面录入的表单数据
  • 关于表单验证

关键词

得分解答快速导航

  • 帖主:JetSnid
  • liqian008

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo