zoukankan      html  css  js  c++  java
  • struts2表单验证初步及国际化实现(学习总结)

    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> 
     
  • 相关阅读:
    其他魔术方法
    类型约束和类的魔术常量
    PHP对象遍历、内置标准类与数据转对象
    类的自动加载与对象的克隆
    PHP重载与接口
    面向对象
    PHP基础
    地下城与勇士的项目整理
    mysql建表
    jQuery
  • 原文地址:https://www.cnblogs.com/encounter/p/2189142.html
Copyright © 2011-2022 走看看