Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1189|回复: 0

[JavaEE] 使用struts的validator提供表单验证

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2013-12-22 15:24:43 | 显示全部楼层 |阅读模式
    1,  创建一个web项目;
    2,  给项目添加struts支持;
    3,  创建一个login.jsp页面;
       <HTML:form action=”user.do” method=”post” focus=”user.uname”>
         <table>
           <tr>
             <td>Login:</td>
             <td><html:text property=”user.uname” />
    <html:errors property=”user.uname” /><!—显示错误信息 à</td>
           </tr>
           <tr>
             <td>PassWord:</td>
             <td><html:password property=”user.upass”/>
    <html:errors property=”user.upass” /><!—显示错误信息 à</td>
           </tr>
           <tr>
             <td colspan=”2″><html:submit/></td>
           </tr>
         </table>
       </html:form>
    4,  创建一个继承ValidatorFormform bean
    特别注意:不能重写validate()方法(如果重写了此方法就会不通过srtuts的验证)
    form bean中写入属性private User user = new User();然后添加gettersetter方法;
    5,创建一个Action,struts-config.xml中配置如下:
      <action
          attribute=”userForm”
          name=”userForm”//form bean名称
          parameter=”op”//DispatchAction的处理方法名
          path=”/user” //请求的路径
          input=”/login.jsp” //输入内容的jsp路径
          validate=”true” //是否用validate验证为true
          scope=”request”//作用域为request
          type=”com.aptech.web.action.UserAction”> //Action的类型
          <forward name=”index” path=”/index.jsp” /> //一个jsp导向
        </action>
    如果要使用验证那么struts-config.xml中必须填写
    Input=”/login.jsp”; //如果没有这句,验证没有通过后,将会无法跳转到输入页面
    Validate=”true”; //如果没有这句,将会不进行struts验证
    6,创建资源文件并部署资源文件:
    struts文件中部署资源文件:
      <message-resources parameter=”com.zhangjie.struts.ApplicationResources” />
    1)在资源文件中写入msg.uname = user name; msg.upass = user pass;
    2)validator-rules.xml中的被注释掉的东东都拷到资源文件中
    7,创建validations.xml文件并配置如下:
    <formset>
            <!– 定义要验证的表单 name:与要验证的表单同名–>
           <form name=”userForm”>
               <field property=”user.uname” depends=”required”>
                  <arg key=”msg.uname”/>
    <!—其中key对应资源文件中的msg.uname,作为表单验证errors.required中传递的参数 –>
    <!—其中property的属性为userForm中的属性–>
    <!—其中depends为验证类型 –>
    </field>
               <field property=”user.upass” depends=”required”>
                  <arg key=”msg.upass”/>
               </field>
           </form>
        </formset>
    8,加载validation插件
    <plug-in className=”org.apache.struts.validator.ValidatorPlugIn”>
        <set-property
            property=”pathnames”
            value=”/WEB-INF/validator-rules.xml,/WEB-INF/validations.xml”/>
      </plug-in>
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-25 10:14 , Processed in 0.426263 second(s), 35 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表