struts2.0 之表单验证的简易实现

 我学习struts2已经是很很很落后于时代了,完全是为了需要而不是兴趣,这个是很很很惭愧的.就在两天前,我终于能够静下心来坐在电脑前面,通过查阅itpub的技术专题资料以及官方自带的app,在加上自己的摸索实践,能够小小的实现一些小小小功能了.于是乎,我就把一些能够总结的知识点在这里回顾一下下,算是对自己学习情况的记录吧.

本表单验证以最常用的用户登录为例:

1.WebRoot 下创建登录页面:login.jsp,



 

       
    this is logon index page
  
 
 
     
      
      

            
   
 

注意表单验证方式为true;

2.src下创建处理用户登录的类:LoginAction.java

package com.tang;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
 private String username;
 private String password;
 
  public String getUsername() {
  return username;
 }

 public void setUsername(String username) {
  this.username = username;
 }

 public String getPassword() {
  return password;
 }

 public void setPassword(String password) {
  this.password = password;
 }  

@Override
 public String execute() throws Exception {
  // TODO Auto-generated method stub
  if(username.equalsIgnoreCase("jessica")&& password.equals("123456"))
  {
   return ActionSupport.SUCCESS;
  }
  else
  {
   return ActionSupport.INPUT;
  }
  
 }
}
3.在2中对应包下创建LoginAction-validation.xml,命名规则需为:该类名-validation.xml,好象可以加别名的,我给忘了,暂时先像我的这个样子啦,

BR>    "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
    "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
    

 
      
           
      
 
 
 
      
          
      
      
          20
          6
          true
          require between 6 and 20
      
 
 <!-- Field  validator syntax --&gt
 
    
 以上密码用于验证输入不允许为空以及密码长度验证,至于输入的正确与否则不能判断,这里我有个很简单超简单的方法,那就是在我们验证的LoginAction.java里面定义此种验证。

LoginAction.java里的类继承ActionSupport类,同时也就继承了父类的方法validate();那么我们在LoginAction.java中添加validate方法就可以了,代码如下:

public void validate()
 {
  if(!"jessica".equalsIgnoreCase(this.username)&&null!=this.username)
   this.addActionError("用户名指定错误");
  else if(!"123456".equalsIgnoreCase(this.password)&&null!=this.password)
   this.addActionError("密码有误!");
 }

输入提示信息我用的是中文,居然没有出现任何顾虑的显示出来了,呵呵^_^.
 同时修改execute方法,在执行此类的过程中,系统会自动检测validate验证是否通过,只有通过validate验证后,才会执行execute方法:
 public String execute() throws Exception {  
   return ActionSupport.SUCCESS;    
 }

那么,如何让validate方法中的提示信息在jsp页面中显示出来呢? 很简单,只需要在表单前面添加一行tag标签,就OK啦~~


4.3中对应的key的详细定义在同目录下定义LoginAction.properties ,命名规则:类名_(别名).properties,俺又没用别名,嘿嘿^_^,两行很简单的定义:

username=userName Is Required !!!
password=password Is Required !!!

5.回到核心的src下的struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
BR>    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

   
   

   
           
                  /welcome.jsp  <!--指向您要转向的登录成功指定页面--&gt
                  /login.jsp
            
   

大功告成!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9166686/viewspace-417484/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9166686/viewspace-417484/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值