首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts2中的collection应验

2012-11-04 
Struts2中的collection验证Struts2提供了Collection的转换器,可以直接把页面传递过来的参数转换成List Set

Struts2中的collection验证
Struts2提供了Collection的转换器,可以直接把页面传递过来的参数转换成List Set类型,使用这个转换器能为我们节省不少手指运动量,但Collection的验证就成了一个问题.google之后,找到了这个资料webwork数组形式提交表单及validation研究.但文中的collection是xwork1的验证器,在xwork2中并不存在,于是想到把它从xwork1中转移过来.并修改了少许,使之可以支持多个验证器.

有2个类,CollectionFieldValidator和DefaultActionValidatorManager,因为都是xwork1的类,所以我们还要稍微改动一下.
CollectionFieldValidator.java

<validators><!-- Action 中 Field 名--><field name="sentForm"><field-validator type="collection">  <!-- 需要验证的属性,其中details是collection--><param name="property">sentForm.details.requestQty</param>  <!-- 以逗号分隔 --><param name="validatorRefs">required,int</param>   <!-- 验证器引用名_参数名--><param name="validatorParams['required_messageKey']">receivedocument.requestQty.validate.required</param><param name="validatorParams['int_messageKey']">receivedocument.requestQty.validate.int</param><message>...</message></field-validator>  </field><field name="sentForm"><field-validator type="collection">  <param name="property">sentForm.details.item</param>  <param name="validatorRefs">requiredstring</param>   <param name="validatorParams['requiredstring_messageKey']">receivedocument.item.validate.required</param><message>...</message></field-validator>  </field></validators>

可能有人注意到使用方法和上面提供的链接中稍有不同,这是因为原来的collection验证不能有多验证器.

热点排行