[list]
•Struts验证执行的流程:
1) 首先进行类型转换
2) 然后进行输入校验(执行validate方法)
3) 如果在上述过程中出现了任何错误,都不会再去执行execute方法,会转向struts.xml中该action下名为input的result所对应的页面。
•ActionSupport类的addActionError()方法的实现:首先创建一个ArrayList对象,然后将错误消息添加到ArrayList对象中。
•当调用getActionErrors()方法返回Action级别的错误信息列表时,返回的实际上是集合的一个副本而不是集合本身,因此对集合副本调用clear方法清除的是副本中的元素,而非元集合中的元素,此时元集合中的内容没有受到任何影响。换句话说,Action级别的错误信息列表对开发者来说是只读的。
•Field Error级别的错误信息底层使用LinkedHashMap实现的,该Map的key是String类型的,value是List<String>类型的,这就表示一个Field Name可以对应多个错误信息,这些错误信息都存放在List<String>集合中。
[size=large][/size]
[/list]
•Struts验证执行的流程:
1) 首先进行类型转换
2) 然后进行输入校验(执行validate方法)
3) 如果在上述过程中出现了任何错误,都不会再去执行execute方法,会转向struts.xml中该action下名为input的result所对应的页面。
•ActionSupport类的addActionError()方法的实现:首先创建一个ArrayList对象,然后将错误消息添加到ArrayList对象中。
•当调用getActionErrors()方法返回Action级别的错误信息列表时,返回的实际上是集合的一个副本而不是集合本身,因此对集合副本调用clear方法清除的是副本中的元素,而非元集合中的元素,此时元集合中的内容没有受到任何影响。换句话说,Action级别的错误信息列表对开发者来说是只读的。
•Field Error级别的错误信息底层使用LinkedHashMap实现的,该Map的key是String类型的,value是List<String>类型的,这就表示一个Field Name可以对应多个错误信息,这些错误信息都存放在List<String>集合中。
[size=large][/size]
[/list]