网站首页 新闻首页 网页设计图形动画软件编程网站开发办公软件操作系统数据库网络技术认证考试范文资料黑客攻防 书籍教程 进入论坛

struts2表单验证初步及国际化实现(学习总结)

http://www.diybl.com/ 2008-3-8  网络 点击:  [ 评论 ]
文章搜索:    【点击打包该文章】

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> 
 

欢迎光临DIY部落,点击这里查看更多文章教程   【点击打包该文章】
如果图片或页面不能正常显示请点击这里 站内搜索:   

文章评论

请您留言