我学习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 -->
以上密码用于验证输入不允许为空以及密码长度验证,至于输入的正确与否则不能判断,这里我有个很简单超简单的方法,那就是在我们验证的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 <!--指向您要转向的登录成功指定页面-->
/login.jsp
大功告成!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9166686/viewspace-417484/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9166686/viewspace-417484/