Struts2输入校验推荐看.docx

上传人:b****6 文档编号:8459619 上传时间:2023-01-31 格式:DOCX 页数:10 大小:63.50KB
下载 相关 举报
Struts2输入校验推荐看.docx_第1页
第1页 / 共10页
Struts2输入校验推荐看.docx_第2页
第2页 / 共10页
Struts2输入校验推荐看.docx_第3页
第3页 / 共10页
Struts2输入校验推荐看.docx_第4页
第4页 / 共10页
Struts2输入校验推荐看.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

Struts2输入校验推荐看.docx

《Struts2输入校验推荐看.docx》由会员分享,可在线阅读,更多相关《Struts2输入校验推荐看.docx(10页珍藏版)》请在冰豆网上搜索。

Struts2输入校验推荐看.docx

Struts2输入校验推荐看

Struts2输入校验

(一)----validate方法-validateXxx方法

时间:

2009-03-2009:

31来源:

javaeyeelf8848点击:

1291次

-

这是一种编码校验的方法,我重写ActionSupport父类的validate方法来实现.

  Action执行时一定会执行validate方法,若有不合格的输入就调用addFieldError("age","年领应在0-200之间");方法.

  1 login.jsp

HTML标签:

Html代码   

错误信息:

fielderror>

fielderror>

用户名:


年 龄:


生 日:


点对象:


struts2标签

Html代码  

formaction="login">

textfieldname="username"label="用户名">

textfield>

textfieldname="age"label="年 龄">

textfield>

textfieldname="birthday"label="生 日">

textfield>

textfieldname="point"label="点对象">

textfield>

submit>

submit>

form>

 2LoginAction.java

Java代码   

packagessh.org.web;

importjava.util.Date;

importjava.util.List;

importssh.org.util.Point;

importcom.opensymphony.xwork2.ActionSupport;

publicclassLoginActionextendsActionSupport

{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

privateStringusername;

privateintage;

privateDatebirthday;

privateListaihao;

@Override

publicStringexecute()throwsException

{

return"success";

}

@Override

publicvoidvalidate()

{

if(age<0||200

{

addFieldError("age","年领应在0-200之间");

}

}

}

  看上面的validate()方法,很简洁,因为少了类型转换,这个工作由Struts2内建的类型转换器把请求参数转换为所须要的类型. 

3结果

  validateXxx()方法

  一个Action可以包含多个处理逻辑

  Java代码   

publicclassUserActionextendsActionSupport

{

privatestaticfinallongserialVersionUID=1L;

privateStringusername;

privateintage;

privateDatebirthday;

privateListaihao;

publicStringaddUser()throwsException

{

//添加用户

return"success";

}

publicvoidvalidateAddUser()

{

if(null==username||"".equals(username))

{

addFieldError("username","用户名不能为空");

}

System.out.println("validateAddUser()验证方法");

}

publicStringgetUserList()

{

//取得所有用户

return"success";

}

publicvoidvalidateGetUserList()

{

//验证方法略...

System.out.println("validateAddUser()验证方法");

}

//--测试用

@Override

publicStringexecute()throwsException

{

return"success";

}

@Override

publicvoidvalidate()

{

if(age<0||200

{

addFieldError("age","年领应在0-200之间");

}

System.out.println("~~~~~~基本~~~~~");

}

}

  上面的就有三个处理业务的方法addUser(),getUserList(),execute()

  addUser(),getUserList()方法分别有不同的验证方法:

validateAddUser(),validateGetUserList()  ,也就是validateXxx()方法. 

  业务方法叫什么,验证方法就叫validate业务方法名(首字母大写)

  这样,在执行某个业务方法,就会执行与它同名的验证方法,执行addUser()这前就会检查有没有validateAddUser()方法,有就执行之.

  其实有了addUser(),getUserList() 这两方法,execute()就可以不要,但我为了说明一个多个validate方法执行的顺序,还是加上了.

  不论执行 addUser()还是getUserList() 方法,validate()方法一定会执行,这是我们不想要的,有两解决方法:

  1 不写execute(),也就不用写validate()方法

  2 写execute(), 把validate()改名为validateExecute().

Struts2输入校验

(二)----验证框架

时间:

2009-03-2009:

31来源:

javaeyeelf8848点击:

533次

-

  一文件名约定:

  1)验证XML的文件名:

Action类名-validation.xml,并与相关的Action类放在一起.

  2)当一个Action中有多个业务方法时:

Action类名-映射名-validation.xml

  什么是映射名:

,name属性的值:

login就是映射名,千万注意,很多人写错

  例子:

  URL是:

http:

//localhost/struts/user_addUser.action

  struts.xml是:

  Xml代码

/user/success.jsp

/user/user.jsp

  匹配后 实为

  所以验证框架XML文件名是:

UserAction-user_addUser-validation.xml

  二验证不通过时,会执行addFieldError()方法, 在JSP页面,要用

fielderror/>显示信息.

  关于addFieldError,请看第6讲:

6addActionError与addFieldError

  三例子

  Registration-validation.xml :

用于校验Registration.java类

  Xml代码   

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEvalidatorsPUBLIC"-//OpenSymphonyGroup//XWorkValidator1.0.2//EN""

--

非字段校验器

 

username

usernameshouldnotbeblank!

username

6

10

usernameshouldbebetween${minLength}and${maxLength}

-->

 

字段校验器-->

 

true

usernameshouldnotbeblank!

6

10

usernameshouldbebetween${minLength}and${maxLength}

 

passwordshouldnotbeblank!

6

10

passwordshouldbebetween${minLength}and${maxLength}

repasswordshouldnotbeblank!

6

10

repasswordshouldbebetween${minLength}and${maxLength}

ageshouldnotbeblank!

1

150

ageshouldbebetween${min}and${max}

birthdayshouldnotbeblank!

2001-01-01

2003-12-31

birthdayshouldbebetween${min}and${max}

graduationshouldnotbeblank!

2005-01-01

2007-12-31

graduationshouldbebetween${min}and${max}

 

四 Struts2内建的校验器有:

  Xml代码

  

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1