struts(方法验证)

1. action默认执行execute()方法,该方法会抛出异常。

2. 特定方法的验证:如要验证save(),则验证方法应该是validateSave()。执行顺序:validateSave()----validate()---save()

验证结束后,发生错误后,不会继续往下执行,不再执行save方法。验证执行顺序:类型转换----验证框架----验证方法,

若有错误会在所有的验证执行完后停止,不会执行被验证的属性或方法。

3. validate方法先于任何方法执行,包括execute(),它是验证方法。若出现错误,将不继续往下执行,直接返回页面。执行input对应的页面。页面若有接受错误的方法,

将显示验证错误的原因等。有业务逻辑的验证不要放到validate中。

4. 验证中的错误可以放在ActionError和fieldError里面。存储方法this.addActionError(anErrorMessage)和this.addFieldError(name,errorMessage)。可以通过

调用claerFieldErrors()和clearActionErrors()方法,来清除fieldErrors和actionErrors中的错误信息,流程继续往下执行action中的方法。

5. 页面获取验证消息:

<body>

<s:fielderror></s:fielderror> //里面可以加样式,同下。

<s:actionerror /> //里面可以加显示的样式,如:<s:actionerror cssStyle="color:red"/>

</body>

错误信息的输出内容,可以通过properties配置文件来决定输出的内容。配置文件与要验证的action放在同一个目录下,名字为要验证的action名.properties。

如:TestAction.properties.文件内容:

表示若age,birthday,graduation如果发生field级别的错误,会往fieldError中添加的错误信息。

时间: 2024-11-09 03:21:34

struts(方法验证)的相关文章

struts 数据验证

1. validate()验证 将对页面表单验证的内容写到validate()方法中,实现验证和业务处理内容的分离 在Action中添加 validate()方法   public void validate(){   if(//****){         addFieldError("name","XX不能XXX....");  // 如果条件不匹配,可以使用 addFieldError()方法添加到对ActionContext中.   }    } 在JSP页

笔记03 异常支持、防止页面刷新和后退、方法验证

Struts2对异常支持(声明式异常.自动的异常处理), 异常处理(运行期异常事务自动回滚) 1. 自定义异常类,继承RuntimeException或Exception实现构造方法. 2. 配置异常:全局页面跳转,与全局异常处理.其他包如果想使用,需要继承. <global-results> <result name="error">/error.jsp</result> <result name="input">/

C++开发人脸性别识别教程(18)——辅助功能之文件名批量修改、方法验证

时光推移了30多天,这个人脸性别识别的小项目也接近尾声了,预计再通过三篇博文的篇幅来完成这个项目的收尾工作.在这篇博文中我们再为程序添加另外两个小的辅助功能:文件名批量修改.方法验证. 一 文件名批量修改 批量修改文件名是一件很基础也很常用的小操作,核心操作就是图像文件的批量读取.批量改名.批量保存.基本思想就是把文件读出来,然后在保存回去(注意不要和别的文件发生覆盖),从这个角度来讲文件名批量修改与上一篇博客C++开发人脸性别识别教程(17)——辅助功能之人脸批量分割中的人脸批量分割简直如出一

搭建VPN服务器或 出现733错误解决方法[验证]

搭建VPN服务器出现733错误解决方法[验证]   昨晚用Windows 2003单网卡用花生壳实现VPN,搭建好VPN服务器后(记得把防火墙和WINDOWS连接共享服务关掉哦,在WINDOWS 2003中服务名为:Windows Firewall/Internet Connection Sharing),注册好花生壳(这真是个好东本啊),尝试远程连接时出现错误信息:TCP/IP CP报告了错误733,不能完成到远程计算机的连接, 没有就ppp协议成功.怎么回事呢?百度了一下!原来VPN服务器不

在自定义的js验证规则中调用magento的VarienForm方法验证表单

js部分<script type="text/javascript"> //<![CDATA[ var loginForm = new VarienForm('login-form', true); $('login-email').observe('keypress', bindLoginPost); $('login-password').observe('keypress', bindLoginPost); function bindLoginPost(evt)

struts之验证框架

对于格式的验证,我们可以自己写js来验证,当然struts已经封装了验证框架,下面说下我的学习哦. 验证框架分为了服务器端的验证和前台的xml配置验证(这里相当于js),下面先说下服务器端的验证. 1:由于action类继承了ActionSupport这个类,其中这个类又实现了Validateable, ValidationAware接口, 所以我们可以直接的重写validate()这个方法. 下面是代码: public void validate(){ if(userName.length()

struts(方法调用)

具体的调用方式: * 方法的动态调 * 在<action>中配置method属性 * 使用通配符 1. 方法的动态调用方式:(不推荐,会将方法名暴漏出来.但可以通过伪连接隐藏起来.) action名称+!+方法名称+后缀 <a href="user!add.action">添加用户</a><br> <a href="user!del.action">删除用户</a><br> !!动态

用两种方法验证邮箱的合法性(最新)

代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.title=@"验证邮箱的合法性"; //最全面的验证邮箱的方法,用两种方法一起测试 NSString *email=@"[email protected]"; NSLog(@"---%i--",[self validateEmail:emai

spring 方法验证参数

1:实体使用 @Valid    使用 validation  类注解 2:String 使用 controller 添加 @Validated @NotBlank(message = "id不能为空") @RequestParam(value="mercId")异常捕捉 /** * 参数验证String * 弥补@RequestParam参数验证String 无法解决空字符串 * 使用: * 1:controller 加 @Validated * 2:方法加@No