如何让Validate验证只验证指定的方法?
比如updateUser()方法,如果实现validate方法,Action的所有其它方法被调用的时候都会调用,这不是我要的。
方法就是定义一个和updateUser()方法匹配的validate方法validateUpdateUser(),
此方法必须是public的。例如:
public String updateUser()throws Exception
{
User old=userService.getUserByID(user.getUserID());
old.setUserName(user.getUserName());
old.setUserSN(user.getUserSN());
old.setAddress(user.getAddress());
//old.setBirthday(birthday);
old.setEmail(user.getEmail());
old.setLoginName(user.getLoginName());
old.setMobilePhone(user.getMobilePhone());
old.setMSN(user.getMSN());
old.setPostalCode(user.getPostalCode());
old.setQQ(user.getQQ());
old.setSex(user.getSex());
userService.saveUser(old);
return SUCCESS;
}
public boolean validateUpdateUser(){
boolean result=true;
User snp=userService.getBySN(user.getUserSN());
if(snp!=null&&snp.getUserID().longValue()!=user.getUserID().longValue())//new privilegeSN exists
{
addFieldError("user.userSN","SN exists.");
result=false;
}
snp=userService.getByLoginName(user.getLoginName());
if(snp!=null&&snp.getUserID().longValue()!=user.getUserID().longValue()){
addFieldError("user.loginName","loginname exists.");
result=false;
}
if(result==false){
User old=userService.getUserByID(user.getUserID());
request.put(Constants.USER_OBJECT, old);
}
return result;
}
此外在struts.xml文件的Action配置中必须为Action指定一个input
<action name="updateUser" class="userAction" method="update">
<result name="success" type="redirect">listUser.action</result>
<result name="input">/page/user/edit.jsp</result>
</action>
分享到:
相关推荐
在Struts2中,`validate`是用于处理用户输入验证的重要机制,它可以帮助开发者确保从客户端提交的数据满足预设的业务规则,从而提高应用程序的安全性和用户体验。 1. **Struts2 验证基础** Struts2的验证分为两种...
这个validate验证框架中的actiionerror级别的错误的验证提示,并包含了如何在一个Action中处理多个业务逻辑,(struts1.x 中的DispatcheAction),例子比较简单,希望对大家学习struts有所帮助。
Struts的Validate框架是Java Web开发中用于处理用户输入验证的一种工具,它是Struts框架的重要组成部分,主要用于在MVC(Model-View-Controller)架构中确保用户提交的数据满足应用程序设定的规则。在MyEclipse 6.0...
2. **验证方法**:在ActionForm子类中,你需要定义一个`validate`方法。此方法的签名通常是`public ActionErrors validate(HttpServletRequest request)`。在这个方法里,你将对每个表单字段进行检查,如果发现不...
Struts2 ValidateDemo 是一个基于Struts2框架的示例项目,主要展示了如何在Struts2中进行数据验证。Struts2是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发中,而数据验证是其关键功能之一,...
本文将深入探讨如何结合Validate框架在Struts中实现有效的数据验证。 首先,我们需要理解Struts中的验证流程。当用户提交表单时,Struts会调用ActionForm对象的validate()方法进行验证。这个方法通常是根据业务逻辑...
在本教程中,我们将深入探讨如何使用Struts2的`validate`方法实现用户登录的校验功能。 首先,我们来看一下环境配置。为了运行Struts2项目,你需要Eclipse IDE 4.3.2、Java JDK 1.7_45或更高版本,以及MySQL 5.0或...
当请求到达服务器并调用Action的`execute()`方法之前,Struts2会先执行`validate()`方法。如果校验失败,错误信息会被添加到`fieldErrors`域中,导致`execute()`方法不会被执行,页面会跳转到错误处理页面。例如,...
在Web开发中,jQuery Validate和Struts2是两个非常重要的工具。jQuery Validate是一个轻量级的JavaScript库,用于对HTML表单进行验证,确保用户输入的数据符合预设的规则。而Struts2是一个基于MVC设计模式的Java Web...
在Eclipse中配置Struts2...Struts2―表单验证validate(html)对validate的type属性校验类型以及param 做了详细的解释说明。 struts2和struts的比较 让你更清楚的知道struts2和struts的不同之处。 struts教程(html)
本文将详细讨论如何在Struts中使用ActionForm的`validate`方法进行数据验证。 `validate`方法是在ActionForm中定义的一个可选方法,用于在提交表单数据后验证用户输入的有效性。这个方法通常会在调用Action的`...
《jQuery Validate与Struts2整合应用详解》 在Web开发中,前端验证用户输入的数据是必不可少的一环,jQuery Validate插件就是一款强大的JavaScript验证工具,它可以帮助我们方便地实现表单验证。与此同时,Struts2...
在“struts2整理的东西补充”这个压缩包中,可能包含了开发者对Struts2框架深入理解和实践的笔记,主要聚焦在OGNL(Object-Graph Navigation Language)的用法、validate验证以及类型转换等方面。以下是对这些知识点的...
2. **ValidatorForm**:继承自Struts的`org.apache.struts.action.ActionForm`类,用于封装请求参数并进行验证。 3. **ValidatorRules**:在运行时读取`Validation.xml`文件并生成验证规则的对象。 4. **...
在Struts框架中,`validate`功能是用于进行表单验证的重要机制,它帮助开发者确保从用户端接收到的数据是合法且有效的。 在Struts框架中,`validate`的应用主要体现在ActionForm类的子类上。ActionForm是Struts框架...
"Struts-Validate-Reset"主题主要关注的是在Struts验证框架中如何实现表单数据的重置操作。 验证(Validate)在Struts中通常是通过ActionForm类的子类来完成的。ActionForm是MVC模式中的模型层组件,它负责接收并...
8. ** strut2-struts1-plugin**:如果你的项目中同时有Struts1和Struts2,可以使用这个插件进行兼容,使得Struts1的validate机制也能在Struts2中正常工作。 9. **注解驱动的验证**:在Struts2中,除了传统的...
在Struts2中,我们可以利用validate方法进行高效且灵活的前端数据验证,确保用户输入的数据满足业务规则,从而提升应用的安全性和用户体验。 在Struts2中,表单验证主要依赖于两个核心组件:Action类和Validator...
2. 如果有验证规则,Struts2会先调用`validate()`方法进行验证。 3. 如果验证失败,Struts2会填充Action的错误消息并返回当前Action的`INPUT`结果。 4. 如果验证成功,`execute()`方法将继续执行并返回相应结果。 #...