struts2-4框架校验

struts2-4框架校验

struts2验证框架

1、进行服务器端的数据校验

2、输入校验的分类

(1)手工校验

  • 编码校验的正确与否

  • 手工校验的步骤

    1)编写action类继承actionSurport

    2)重写validate方法,对所有的执行方法进行校验,对执行方法校验时方法名为validate+方法名,eg.validateSave

    3)在struts.xml文件中配置校验错误转发的页面

    <result name="input">转发的目标路径</result>
    

    4)在jsp页面中使用struts标签显示错误信息

    <s:fielderror fieldName="字段名">
    
    1.
    public String save(){
    		ServletActionContext.getRequest().getSession().setAttribute("us", us);
    		path="show_User";
    		return "ok";
    	}
    	
    	
    	public String show(){
    		path="show.jsp";
    		return "ok";
    	}
    	
    2.
    
    public String save(){	ServletActionContext.getRequest().getSession().setAttribute("us", us);
    		path="show.jsp";
    	return "ok";
    }
    第一个与第二个,当使用第一个时要使用validateSave()方法
    当使用第二个时要使用validate()方法
    

xml文档校验

步骤:

1)编写验证的xml文件

action类-action访问路径名-validate.xml

例如:只验证save方法的访问路径

UserAction-save_User-validation.xml

2)重写validate方法,对所有的执行方法进行校验,对执行方法校验时方法名为validate+方法名,eg.validateSave

3)在struts.xml文件中配置校验错误转发的页面

验证文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd"> 
<validators>
    <field name="us.name">
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message>用户名不能为空!</message>
        </field-validator>
    </field>
    <field name="us.pwd">
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message>密码不能为空!</message>
        </field-validator>        
        <field-validator type="stringlength">
			<param name="minLength">6</param>
			<param name="trim">true</param>
			<message><![CDATA[密码长度不能少于6个字符]]></message>
		</field-validator>
        
    </field>
    
    
    <field name="us.tel">
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message>电话不能为空!</message>
        </field-validator>
        <field-validator type="regex">
		     <param name="expression"><![CDATA[^1[358]\d{9}$]]></param>
		     <message>手机号格式不正确!</message>
		</field-validator>
    </field>
</validators>

自动走这个xml文件,但是要注意此时的

<s:fielderror fieldName="name"></s:fielderror><br>

fieldName要为us.name与xml文件中的一致,并且跟对象保持关系

国际化

1、概念:

页面静态文本转为不同的国家语种信息

2、国际化I18N,本地化L10N

3、步骤:

(1)准备资源文件

xxx_国家语种_国家代码.properties

例如:

msg_zh_CN.properties

msg_en_US.properties

(2)在struts.xml文件中配置

(3)在jsp页面使用

<s:text name="键名"/>呈现各种语种信息

<s:text name="name">替换用户名

注意

Attribute "calss" must be declared for element type "action".
出错提示上述内容可能情况:
1.这里是class拼写错误
2.将属性误写
if(us.getName()==null||us.getName().trim().equals("")){
			addFieldError("name", "用户名错误");
			return;
		}
		
		
用户名:<s:textfield name="us.name"/>
    <s:fielderror fieldName="name"></s:fielderror><br>
    
    
    其中的addFieldError("name", "用户名错误");和 <s:fielderror fieldName="name"></s:fielderror><br>的name要一致,才能在界面显示提示的信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值