您的位置:首页 > 编程语言 > Java开发

Struts2的简单数据校验

2012-05-21 22:10 295 查看
常常在登陆页面的时候要求你输入一个什么玩意儿,然后再进行下一步操作,比如说那种动态验证码,防止机器注册。

怎么实现呢?你首先会给用户提示一个东西,比如说是一个字符串,“xyz",然后进入这个页面以后,要求用户照着输入一遍,进行核实,这个时候呢,用户输入的东西会被作为参数传递给Struts里面的action类,然后调用这个类的某个具体方法。

假如说这个变量的名字为code,那么在Action类里面就应该有一个code的字符串变量,然后有一个set和get方法,调用了verify方法以后,就进行比对,比如

if(code==null || !code.equals( "xyz")){
this.addFieldError("code", "code iserror");//注意这一句,这一句会将信息交给接下来要跳转的jsp页面
returnERROR;
}
returnSUCCESS;

这样一来,就实现了简单的校验。

然后根据返回的,比如返回错误了,就重新返回这个页面叫用户继续输入,并且给一个提示。或者经过校验,用户输入正确,那么就跳转到某一个页面。

注意上面那一句红色的注释,这个已经需要用到struts的标签。struts有很多标签,如果你要用,首先要在action类里面加红色部分那样的东西,然后呢,需要进一步处理。处理的方式就是在result的jsp文件中先加入一句话<%@taglib uri="/struts-tags" prefix="s"%>

然后呢,在需要的时候,将在action类中添加的东西取出来,取出的方法为。。。

<s: filederrorfiledName = "code" theme="simple"/>
<s:propertyvalue="errors.code[0]"/> //errors是一个map,对应的value是一个数组
<s:debug></s:debug> //打印出错误的信息

这个东西,如果你想看struts是怎么实现的,那么你可以查看页面,设计不是很合理,因为它规定了页面显示的样式,但是有时候,开发者未必希望是定义好的页面样式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: