第一种方式:
1.用validate()方法,继承ActionSupport列,重写方法
public void validate()
{
//如果用户名为空,或者用户名为空字符串
if (getUsername() == null || getUsername().trim().equals(""))
{
//添加表单校验错误
addFieldError("username", getText("username.require"));
}
}
,其中getText()用来实现国际化
2.定义input视图
<result name="input">/login.jsp</result>(input表示默认的错误返回视图)
jsp页面中,要用struts的标签,form和textfield
第二种方式(validation.xml框架):
1.定义ActionName-validation.xml文件(该文件必须与对应的Action类放在一起),如下:
<?xml version="1.0" encoding="GBK"?>
<!-- 指定校验规则文件的DTD信息 -->
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator
1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<!-- 校验规则定义文件的根元素 -->
<validators>
<!-- 校验第一个表单域:username -->
<field name="username">
<!-- 该表单域必须填写 -->
<field-validator type="requiredstring">
<!-- 如果校验失败,显示user.required对应的信息 -->
<message key="user.required"/>
</field-validator>
</field>
<!-- 校验第二个表单域:password -->
<field name="password">
<field-validator type="requiredstring">
<!-- 如果校验失败,显示pass.required对应的信息 -->
<message key="pass.required"/>
</field-validator>
</field>
</validators>
2.定义input视图,在再jsp中用form,textfield标签,即可