struts2表单验证初步及国际化实现(学习总结)
2008-03-07 19:47
991 查看
struts2表单验证初步及国际化实现(学习总结)
struts2表单验证的两种形式:
1.Aciton类重写ActionSupport类的validate()方法:
public void validate(){
if(getUsername() == null || getUsername().trim().equals("")){
addFieldError("username", getText("username.required"));
}
}
struts2的<s:form />标签默认具备输出校验错误的能力
2.用xml文件实现表单验证
xml文件命名规则"Action类名-validation";例使用requiredsting校验器实现LoginAction类的字段username非空验证:在LoginAction.java同包中新建LoginAction-validation.xml文件,文件代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message key="username.required" />
</field-validator>
</field>
</validators>
struts2的国际化实现:
1.配置资源文件
在src目录下新建文件struts.properties及messageResource_zh_CN.properties(以实现中文为例,若实现其他语言输出,只需要新建其他资源文件以messageResource_语言_国家.properties命名)
struts.properties文件只包含一句话struts.custom.i18n.resources=messageResource
messageResource_zh_CN.properties文件只包含key value在内的名值对
例:
login.title=/u767b/u5f55/u9875/u9762
user.login=/u7528/u6237/u767b/u5f55
username=/u7528/u6237/u540d
password=/u5bc6/u7801
login=/u767b/u5f55
username.required=/u7528/u6237/u540d/u4e0d/u80fd/u4e3a/u7a7a
2.实现
(1) Action类中的validate方法中添加国际化信息的方法:
action类的validate方法添加国际化信息:
public void validate(){
if(getUsername().trim() == null || getUsername().trim().equals("")){
addFieldError("username", getText("username.required"));
}
}
(2) xml验证时添加国际化信息:(xml命名规则“类名-validation.xml”例 LoginAction-validation.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message key="username.required" />
</field-validator>
</field>
</validators>
(3) jsp页面显示信息:
<title><s:text name="login.title" /></title>
<s:textfield name="username" label="%{getText('username')}"></s:textfield>
struts2表单验证的两种形式:
1.Aciton类重写ActionSupport类的validate()方法:
public void validate(){
if(getUsername() == null || getUsername().trim().equals("")){
addFieldError("username", getText("username.required"));
}
}
struts2的<s:form />标签默认具备输出校验错误的能力
2.用xml文件实现表单验证
xml文件命名规则"Action类名-validation";例使用requiredsting校验器实现LoginAction类的字段username非空验证:在LoginAction.java同包中新建LoginAction-validation.xml文件,文件代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message key="username.required" />
</field-validator>
</field>
</validators>
struts2的国际化实现:
1.配置资源文件
在src目录下新建文件struts.properties及messageResource_zh_CN.properties(以实现中文为例,若实现其他语言输出,只需要新建其他资源文件以messageResource_语言_国家.properties命名)
struts.properties文件只包含一句话struts.custom.i18n.resources=messageResource
messageResource_zh_CN.properties文件只包含key value在内的名值对
例:
login.title=/u767b/u5f55/u9875/u9762
user.login=/u7528/u6237/u767b/u5f55
username=/u7528/u6237/u540d
password=/u5bc6/u7801
login=/u767b/u5f55
username.required=/u7528/u6237/u540d/u4e0d/u80fd/u4e3a/u7a7a
2.实现
(1) Action类中的validate方法中添加国际化信息的方法:
action类的validate方法添加国际化信息:
public void validate(){
if(getUsername().trim() == null || getUsername().trim().equals("")){
addFieldError("username", getText("username.required"));
}
}
(2) xml验证时添加国际化信息:(xml命名规则“类名-validation.xml”例 LoginAction-validation.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message key="username.required" />
</field-validator>
</field>
</validators>
(3) jsp页面显示信息:
<title><s:text name="login.title" /></title>
<s:textfield name="username" label="%{getText('username')}"></s:textfield>
相关文章推荐
- struts2表单验证初步及国际化实现(学习总结)
- struts2表单验证初步及国际化实现(学习总结)
- struts2表单验证初步及国际化实现(学习总结)
- struts2表单验证初步及国际化实现(学习总结)
- struts2表单验证及国际化实现
- 【javascript】学习总结——表单验证
- struts2学习(一)--表单验证的两种方式
- Struts学习总结(七)---使用Struts2实现用户信息的CRUD操作(一:查询操作)
- Struts学习总结(八)---使用Struts2实现用户信息的CRUD操作(二:添加操作)
- Struts2学习笔记2 ――表单验证
- redux-form的学习笔记二--实现表单的同步验证
- redux-form的学习笔记二--实现表单的同步验证
- 码农小汪-struts2学习5-表单的验证的两种方法
- struts2 国际化,防止刷新重复提交表单与邮箱格式验证
- WCF 学习总结5 -- 消息拦截实现用户名验证
- Struts学习总结(九)---使用Struts2实现用户信息的CRUD操作(四:删除操作)
- Struts2 Jquery Json 实现AJax表单验证
- struts2的表单验证 ,消息处理学习笔记
- 学习struts2建bbs总结五:使用jquery+ajax验证用户名是否存在以及struts效验信息不断重复的问题
- Struts2学习总结(3)--值栈,Ognl表达式,Struts标签库,国际化,数据校验,拦截器