1.错误消息
(1)this.addActionError(String errorMessage)
<s:actionerror cssStyle=""/>
(2)this.addFieldError(String fieldName,String errorMessage)
<s:fielderror />
2.可以用标签库来定义,自动生成表格,自动带filed类型的校验。里面设置theme=simple ,就可以回到一般的表单设置了。
3.执行流程:
1) 首先进行类型转换
2) 然后进行输入检验(执行validate的方法)
3) 如果上述过程中出现了任何错误,都不会执行execute方法,页面 会转向struts.xml中action的名为input的result所对应的页面。
4.ActionSupport类的addActionError()方法实现:首先创建一个ArrayList对象,再将错误信息添加到arraylist对象中。
5.当调用getActionError()返回action级别的错误信息列表时返回的实际上是集合的一个副本而不是集合本身,因此对集合副本调用clear()方法清除的依旧是副本中的元素而非原集合中的元素,此时原集合中的内容没有收到任何的影响。换句话说,action级别的错误列表对开发者来说是只读的。
6.FieldError级别的错误信息底层使用linkedHashMap实现的,该Map的key是String类型,value是List<String>类型,这就表示一个field name可以对应多条错误信息,这些错误信息都放置在list<String>集合当中。
7.this.clearActionError();清除error
this.clearFieldError();清除error
this.clearError();清除所有的error
原文:http://www.cnblogs.com/liu-Gray/p/4930674.html