论坛里有一篇「struts使用list提交多行表单(提供完整示例)」,我能理解并且能实现list提交多行表单的问题。
现在我还有个问题,各位大侠们解答一下,我提交的list数据可以通过form里的validate来验证,可是为了层次清晰更想通过validator验证器来验证,怎么编写自己的验证器方法可以实现。
以下是验证器自定义方法,怎么填充这个方法可以实现验证list呢?
我的list里面有很多字段,我是想用验证器来验证很多字段。
validator-rules.xml配置如下:
<form-validation>
<global>
<validator
name="validateList"
classname="org.apache.struts.validator.FieldChecks"
method="validateMyList"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionMessages,
org.apache.commons.validator.Validator,
javax.servlet.http.HttpServletRequest"
msg="errors.××××××" />
</global>
</form-validation>
validation.xml配置如下:
<form-validation>
<global />
<formset>
<form
name="MyForm">
<!-- 我自定义的form中的list -->
<field
property="myList"
depends="validateList">
<msg
name="validateList"
key="error.×××××××" />
<arg
key="×××××"
resource="true"
position="0"/>
</field>
</form>
</formset>
</form-validation>
现在我要单独写一个上述‘validator-rules.xml’中提到的validateMyList方法来做验证,传统的都是验证某一个字段,现在我要验证一个list,list里包含很多字段。validateMyList应该怎么实现呢?
在org.apache.struts.validator.FieldChecks类里我定义了如下的方法:
public static boolean validateMyList(
Object bean,
ValidatorAction action,
Field field,
ActionMessages message,
Validator validator,
HttpServletRequest req) {
List target = null;
String pattern = null;
target = ValidatorUtils.getValueAsList(bean, field.getProperty());
怎么实现……………
return Boolean.FALSE;
}
我要验证的list定义如下:
/**
* mylist
*/
private List<CooperationClient> myList;
而CooperationClient类的定义如下:
package ja.co.eisho.master.template.search;
/**
* <pre>
*
* </pre>
*
* @author 東方標準 LUJX
*/
public class CooperationClient {
/**
*
*/
private String clientCategoryID;
/**
*
*/
private String clientCategoryName;
/**
*
*/
private String templateID;
/**
* <pre>
*
* </pre>
*
* @param String templateID
*/
public void setTemplateID(String templateID) {
this.templateID = templateID;
}
/**
* <pre>
*
* </pre>
*
* @return String templateID
*/
public String getTemplateID() {
return templateID;
}
/**
* <pre>
*
* </pre>
*
* @param String clientCategoryID
*/
public void setClientCategoryID(String clientCategoryID) {
this.clientCategoryID = clientCategoryID;
}
/**
* <pre>
*
* </pre>
*
* @return String clientCategoryID
*/
public String getClientCategoryID() {
return clientCategoryID;
}
}
这个方法怎么写可以实现list的验证,难点在于把list里所有的字段都验证,然后把
error messages统一报出来。
谢谢了。
欢迎讨论,能解决最好。本人初学不久理解不透彻。
msn:lingyunlujixin@msn.com
分享到:
相关推荐
用struts2实现用户的注册,涉及到的知识点包括用户名和密码的校验(正则表达式验证);国际化;radio,checkboxlist,optiontransferselect等标签的使用,文件的上传等。
17.3 使用一个自定义的“等待”页面 265 17.4 小结 266 第18章定制拦截器 267 18.1 Interceptor接口 267 18.2 编写一个自定义的拦截器 268 18.3 使用DataSourceInjectorInterceptor拦截器 269 18.4 小结 273 ...
在使用struts2+ajax时候,通常我们会返回json类型的数据,但是像上面的例子,我们只希望返回一个1和0有助于进行后续判断即可,没必要返回json类型,返回一个text字符串就可以了. regist.jsp(这里只提供[removed]部分): ...
第4章 另一Struts2核心技术:拦截器 47 4.1 拦截器在Struts2中的缺省应用 47 4.2 拦截器原理实现 50 4.3 在Struts2中配置自定义的拦截器 53 4.3.1 扩展拦截器接口的自定义拦截器配置 54 4.3.2 继承抽象拦截器的...
添加以下方法 ,loginaction的条件用这个来改 public boolean login(String username, String password) { // TODO Auto-generated method stub String param[]={username,password}; List list= this....
完整的Struts2框架,联系oracle数据库实现登录验证 验证码功能:点击图片切换验证码,验证码错误提示 登录成功后变量session中的list集合 内含备注
18第一个Ajax例子 Ajax+struts2 6 8.标签 7 8.Select标签 7 9.Checkbox 10 10.checkboxlist 12 11.combobox 14 12.datepicker 17 9.总结 21 10.国际化资源文件占位符 为资源文件传参数 22 没有JUNIT 22 OGNL 22 ...
把一个商品变成了两个 4.Struts2_03_TypeConverter3 把上面的局部的转换器改成全局的了 xwork-conversion.properties 5.Struts2_03_TypeConverter4 把前面的继承改成了strutstypeconverter了 6.Struts2_03...
17.3 使用一个自定义的“等待”页面 265 17.4 小结 266 第18章 定制拦截器 267 18.1 Interceptor接口 267 18.2 编写一个自定义的拦截器 268 18.3 使用DataSourceInjectorInterceptor拦截器 269 18.4 小结 273 第19...
把一个商品变成了两个 4.Struts2_03_TypeConverter3 把上面的局部的转换器改成全局的了 xwork-conversion.properties 5.Struts2_03_TypeConverter4 把前面的继承改成了strutstypeconverter了 6.Struts2_03...
把一个商品变成了两个 4.Struts2_03_TypeConverter3 把上面的局部的转换器改成全局的了 xwork-conversion.properties 5.Struts2_03_TypeConverter4 把前面的继承改成了strutstypeconverter了 6.Struts2_03...
把一个商品变成了两个 4.Struts2_03_TypeConverter3 把上面的局部的转换器改成全局的了 xwork-conversion.properties 5.Struts2_03_TypeConverter4 把前面的继承改成了strutstypeconverter了 6.Struts2_03...
使用struts2表单传值,可以传一个或者是作为一个对象的各个属性传,都非常灵活便捷。但是如果我们需要传一个数组并希望struts正确接收,该怎么处理呢? 下面我将通过普通表单和ajax两种方式讲解。首先我们有如下一个...
学习时做的一个struts2框架下前台页面获取后台json格式的数据,list,map等。页面包含多级联动页面,登陆验证页面,获取后台map,list格式的json格式数据的页面。分享给大家学习。
2. 模糊查询时,因同时需要进行where筛选,SQL语句无法执行,只好分开查询,先进行模糊查询,查询结果存放到list表中,再通过遍历list表进行判断是否符合where的条件,若符合,则存入另一个list表中。这种方法虽然...
139、当我使用一个结果集时,如何防止字段为"null"的字域显示在我的HTML输入文本域中? 35 140、如何中SERVLET或JSP下载一个文件(如:binary,text,executable)? 36 141、使用useBean标志初始化BEAN时如何接受初始化...
ActionErrors is Struts way of keeping up with a list of errors. The ActionMapping class An incoming event is normally in the form of an HTTP request, which the servlet Container turns into an ...
1,该系统使用SSH三大框架实现,Struts2主要用于流程控制、Spring的控制反转能起到解耦合的作用、Hibernate是一个优秀的ORM框架主要用于数据持久化 2,登录模块分为三种角色业务员、研究员、管理员 业务员:主要负责...