这两个方法都是ActionSupport类实现的方法,应用中我们都会继承ActionSupport类,在ActionSupport类中实现了一个hasErrors()方法,该方法会判断是否存在这两种级别(Action级和Field级)的error,所以当我们需要报错时,我们可以方便的应用:如
try {
XXX
} catch (Exception e) {
Super.addFieldError(“username”, “输入有误”);
或者:
Super.addActionError(“输入有误”);
}
感兴趣可以研究一下源码,使用时我们只需要在页面显示这些错误就OK。
如:
<s:fielderror>
<s:param>username</s:param>
</s:fielderror>
或者
<s:actionerror/>
但是在实际应用中,fielderror我们比较倾向于有针对性的错误信息输出,因为fielderror它本身就是个Map,可以详细指定错误的字段-原因。而且在表单提交时更合适,只要对应了error字段和提交属性的字段。Struts2会为我们自动表格排版(没试验)
修改主题:<s:form theme="simple"> 不能显示错误信息,不能自动添加表格排版,根据需要自己发挥
注:我们只需要进行设置error的默认input,Struts2会为我们自动进行视图转发,<result name=”input”>/input.jsp</result>