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中添加的错误信息。