`
younglibin
  • 浏览: 1211916 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
必填校验器的名字是:required,该校验器要求指定字段必须有值(非空)   参数: fieldName:该参数指定校验的action属性名,如果采用字段校验器风格,则无须指定该参数;      使用非字段校验器风格来配置必填校验 <validators>           <!--使用非字段校验器风格来配置必填校验-->           <validator type="required">                   <!--指定需要校验的字段名-->             ...
校验器的执行顺序: 所有非字段校验风格的校验器优先于字段校验风格的校验器; 所有非字段校验风格的校验器中,排在前面的会先执行; 所有字段校验风格的校验器,排在前面的会先执行; 校验器短路的原则:  所有非字段检验器时最优先执行的,如果某个非字段校验器校验失败了,则该字段上的所有字段校验器都不会获得校验机会; 非字段校验校验失败,不会阻止其他非字段校验执行; 如果一个字段校验器校验失败后,则该字段下且排在该校验失败后的检验器之后的其他字段校验器不会获得校验机会; 字段校验器永远不会阻止非字段校验器的执行! 对于复杂的校验最好写java代码进行校验!       
服务器端校验: 请求的最后一道防线; 客户端校验: 基于表单: s:form主题(theme)一定不能设定为simple s:form 的validate="true" 不进行js校验!   客户端校验+服务器端校验:更加安全!
action中: abc() 的默认验证方法 (用java代码): validateAbc();   execute() 的默认验证方法时 validate(); 验证方法的执行顺序: 先验正自定义的验证方法:最后执行validate()方法,validate() 默认一定会执行!但是他是全局验证,要想不用? 不用validate()有两种方法: 不写validate(); 将validate() 改为validateExecute(); abc() 在配置文件中校验配置:(用xml文件) action名-abc-validation.xml(必须和actio ...
在没有输出用户名的情况下,校验出多个警告,我们要的效果应该是,没有输入时,只出现第一个!  <!-- 校验文件的根元素 --> <validators> <!-- 校验Action的name属性 --> <field name="name"> <!-- 指定name属性必须满足必填规则 --> <field-validator type="requiredstring" short-circuit="true"> <para ...
字段校验器配置格式: <field name="被校验的字段">        <field-validator type="校验器名">              <!--此处需要为不同校验器指定数量不等的校验规则-->               <param name="参数名">参数值</param>                   ....................                <!--校验失败后的提示信息,其中key指定 ...
  action: package lee; import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ActionContext;import java.util.*;import java.util.regex.*;import java.text.*;public class RegistAction extends ActionSupport{ private String name; private String pass; private int age; private Date b ...
如下类型可以相互转化: boolean和Boolean:完成字符串和布尔值之间的转换; char和Character:完成字符串和字符之间的转换; int和Integer:完成字符串和整形之间的转换; long和Long:完成字符串和长整形之间的转换; flota和Float:完成字符串和单精度浮点值之间的转换; double和Double:完成字符串和双精度浮点值的转换; Date:完成字符串和日期类型之间的转换!; 数组:默认情况下,数组元素是字符串,如果用户提供了自定义类型转换器,也可以是其他复合类型转换器; 集合:默认情况下,假定集合元素为String,并创建一个新的 ...
struts2 表现层数据处理分为: 数据类型转换                  1.内建的类型转换器;                  2.基于OGNL的类型转换;                  3.指定集合的元素类型;                  4.自定义类型转换;                  5.注册类型转换; 数据校验        客户端校验:主要用来过滤用户的误操作,作用:拒绝去操作输入提交到服务器处理,降低服务器负担!        服务器端校验:防止奋发数据入侵,导致程序异常,底层数据库异常,作用:保证程序有效运行及数据完整 ...
使用拦截器的两个步骤:   通过<interceptor ......../> 元素来定义拦截器; 通过<interceptor-ref ......../> 元素来使用拦截器; eg: <?xml version="1.0" encoding="GBK"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apa ...
<interceptors......./>元素:该元素用于定义拦截器。所有拦截器和拦截器栈都在该元素下定义包含<interceptor ........./>和<Interceptor-stack.........../>分别用于定义拦截器和拦截器栈; <interceptor ........./>元素: 用于定义单个拦截器,定义拦截器时只需定义两个属性:name和class,分别指定拦截器的名字和实现类; <Interceptor-stack.........../>元素:该元素用于定义拦截器栈,该元素包含多个<int ...
updownselect 标签 :     此标签与 select 标签用户类似,只是此标签生成的列表框可以 支持选项的上下移动。 它支持的属性:      allowMoveUp:是否显示“上移”按钮,默认为true。      allowMoveDown:     是否显示“下移”按钮,默认为true 。      allowSelectAll:  是否显示“全选”按钮,默认为true 。      moveUpLabel:设置“上移”按钮上的文本,默认是^符号      moveDownLabel:     设置“下移”按钮上的文本      select ...
select 标签     此标签用于生成一个下拉列表框, 、常用属性:      list:指定的集合来生成下拉列表框的选项。      listKey:指定集合元素中的某个属性作为复选框的value 。如果集合是 Map,则可以使用 key-value  分别对应 Map     的key-value 作为复选框的value 。      listValue: 用于指定集合元素中的某个属性作为复选框的      标签。如果集合是Map,则可以使用key-value 分别对应  Map 的key-value 作为第一个复选框的标签。      multiple:是否允许 ...
      此标签会创建两个选项用来转换下拉列表项,此标签生成两 个<select…/>标签,并且会生成系列的按钮,这系列按钮控制选项 在两个下拉列表之间移动、升降。当提交时,两个<select…/>标签 都被提交。     此标签常用属性:      addAllToLeftLabel:设置全部移动到左边按钮上的文本。      addAllToRightLabel:  设置全部移动到右边按钮上的文本。      addToLeftLabel:设置向左移动按钮上的文本。      addToRightLabel:  设置向右移动按钮上 ...
 doubleselect标签会生成一个级联列表(即两个下拉列表框)当地一个列表框选中时第二个随之改变(理解为二级联动)   常用属性:   list:指定用于输出第一个下拉列表框中的选项集合; listKey:用于指定几何元素中的某个属性作为第一个下拉列表框的value,如果集合是map则可以使用key和value值分别代表map对象的key和value作为复选框的value; listValue:用于指定集合元素中的某个属性作为复选框的标签,如果是map则可以使用key和value值分别代表map对象的key和value作为第一个下拉列表框的标签; doubleList:指定 ...
Global site tag (gtag.js) - Google Analytics