SSH整合集锦

一、struts2国际化中的占位符的处理

我们在Action类中调用ActionSupport类的getText方
法,调用该方法时,传入用于填充占位符的参数值。访问该带占位符消息的Action类如下:

ActionContext.getContext().put("user", this.getText("welcome",list));
在页面调用的方式

<s:text name="welcome"><!-- 不带占位符国际化消息 -->
			<s:param><s:property value="username"/></s:param><!-- 占位符 -->
		</s:text>
		<span style="color:red">成功页面</span>	</h3>
			
		<br/>
		<br>
		request:${requestScope.user}  <!-- 输出完整带有占位符的国际化消息 -->

二、struts2配置国际化

在struts.xml中

<!-- 配置I18n,value的值是baseName(也就是国际化文件的前面的baseName) -->
	<constant name="struts.custom.i18n.resources" value="Message"></constant>

三、struts2校验框架

Struts2框架系统内部已经注册了内建的校验器,可以打开Struts2的lib包下的xwork.jar包,在com/opensymphony/xwork2/validator/validators目录下找到一个default.xml配置文件,该文件中定义了Struts2框架内建的校验器。
从Struts2的配置文件中可以看到Struts2有如下内建校验器:
1 required 必填校验器,要求字段必须有值
    参数fieldName:该参数指定校验的字段名称,如果是字段校验,则不用指定该参数
2 requiredstring 必填字符串校验器,要求必须有值且长度大于0,即不能是空字符串。默认会去掉字符串前后空格
      参数fieldName:该参数指定校验的字段名称,如果是字段校验,则不用指定该参数
      参数trim:该参数为可选参数,用于指定是否在校验之前对字符串进行整理。
3 stringlength字符串长度校验器,用于检验字段中字符串长度是否在指定的范围
       参数fieldName:该参数指定校验的字段名称,如果是字段校验,则不用指定该参数
     参数trim:该参数为可选参数,用于指定是否在校验之前对字符串进行整理。
       参数 maxLength:用于指定最大字符串长度,该参数为可选
       参数 minLength:用于指定最小字符串长度,该参数为可选
4 int 整数校验器,可以配置整数在指定的范围内
      参数fieldName:该参数指定校验的字段名称,如果是字段校验,则不用指定该参数
    参数 min:指定字段值的最小值,该参数为可选
    参数 max:指定字段值的最大值,该参数为可选
5 double 双精度校验器,可以配置双精度数在指定的范围内
       参数fieldName:该参数指定校验的字段名称,如果是字段校验,则不用指定该参数
     参数 minInclusive:指定字段数值所接受的最小值,该参数为可选
     参数 maxInclusive:指定字段数值所接受的最大值,该参数为可选
     参数 minExclusive:指定字段数值被排除的最小值,该参数为可选
     参数 maxExclusive:指定字段数值被排除的最大值,该参数为可选
6 date 日期校验器,可以配置日期在指定的范围内
      参数fieldName:该参数指定校验的字段名称,如果是字段校验,则不用指定该参数
      参数 min:指定字段日期值的最小值,该参数为可选
      参数 max:指定字段日期值的最大值,该参数为可选
6,expression 表达式校验器,它是一个非字段校验器,当参数expression计算的值为true时,校验通过,否则返回提示。
     参数 expression:该参数为一个逻辑表达式,该参数使用OGNL表达式,并基于值栈计算,返回一个Boolean类型值。 
7,requiredstring 字段表达式校验器,当参数expression计算的值为true时,校验通过,否则返回提示。
         参数fieldName:该参数指定校验的字段名称,如果是字段校验,则不用指定该参数
      参数 expression:该参数为一个逻辑表达式,该参数使用OGNL表达式,并基于值栈计算,返回一个Boolean类型值。
8 url 网址校验器,要求被检查的字段如果非空,则必须是合法的URL地址。
      参数fieldName:该参数指定校验的字段名称,如果是字段校验,则不用指定该参数
9 email 邮件地址校验器,要求被检查的字段如果非空,则必须是合法的邮件地址。
        参数fieldName:该参数指定校验的字段名称,如果是字段校验,则不用指定该参数
10 visitor复合类型校验器
        该校验器用来校验Action中定义的复合类型属性,支持简单的复合类型、数组类型。Map等集合类型。
        参数fieldName:该参数指定校验的字段名称,如果是字段校验,则不用指定该参数
        参数 context:校验器引用的上下文,可选参数
        参数 appendPrefix: 为字段校验信息加前缀,可选参数

<?xml version="1.0" encoding="UTF-8"?> 

<!DOCTYPE validators PUBLIC  

        "-//OpenSymphony Group//XWork Validator Config 1.0//EN"  

        "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> 

<validators> 

  <!-- username字段校验 --> 

  <field name="username"> 

    <field-validator type="stringlength"> 

      <param name="minLength">4</param> 

      <param name="maxLength">10</param> 

      <message>用户名长度为${minLength}到${maxLength}之间!</message>   
  

    </field-validator> 

    <field-validator type="requiredstring"> 

          <message >用户名不能为空!</message> 

    </field-validator> 

  </field> 

  <!-- password1字段校验 --> 

  <field name="password1"> 

    <field-validator type="requiredstring"> 

      <param name="trim">true</param> 

      <message>错误,密码不能为空!</message>   
  

    </field-validator> 

    <field-validator type="stringlength"> 

      <param name="minLength">4</param> 

      <param name="maxLength">20</param> 

      <message>用户密码长度为${minLength}到${maxLength}之间!</message>   
  

    </field-validator> 

 </field> 

  <!-- password2字段校验 --> 

  <field name="password2"> 

    <field-validator type="requiredstring"> 

      <param name="trim">true</param> 

      <message>错误,确认密码不能为空!</message> 

    </field-validator> 

    <field-validator type="stringlength"> 

      <param name="minLength">4</param> 

      <param name="maxLength">20</param> 

      <message>用户密码长度为${minLength}到${maxLength}之间!</message>   
  

    </field-validator> 

    <field-validator type="fieldexpression"> 

       <param name="expression">password1==password2</param> 

       <message>两次输入密码不一样!</message> 

    </field-validator> 

  </field> 

   <!-- birthday字段校验 --> 

  <field name="birthday"> 

    <field-validator type="date"> 

      <param name="min">1990-01-01</param> 

      <param name="max">2011-04-14</param> 

      <message>错误:生日应该在一个范围内!</message>  
  

    </field-validator> 

  </field> 

</validators>


注意:
<!-- spring默认是singleton模式,把他改为scope="prototype",解决重复登录校验框架重复出现错误验证信息 ,即每次登录都会创建一个,就不会出现重复的错误信息了-->
	<bean id="loginAction" class="com.ssh.action.LoginAction" scope="prototype">
		<property name="userService" ref="userService"></property>
	</bean>
四、


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值