现在的位置: 首页 > 综合 > 正文

addFieldError与addActionError的区别

2013年08月22日 ⁄ 综合 ⁄ 共 1305字 ⁄ 字号 评论关闭

addFieldError与addActionError的区别  

2011-10-18 15:11:12|  分类:

Struts2
|  标签:struts2  
|字号 订阅

addActionError() 与addFieldError ()都是com.opensymphony.xwork2.ActionSupport类下的方法.

----------------------------------------------------------------------------------

1.

addActionError (String  anErrorMessage)

添加一个Action级别的错误消息到Action

anErrorMessage: 错误消息

 

显示消息的标签是(如放在jsp页面中):

<s:actionerror />  显示全部的 Action级别的错误消息,可以加CSS代码。

anErrorMessage被存放在List列表中 。可以去看源码

----------------------------------------------------------------------------------

2.

addFieldError (String  fieldName, String  errorMessage)

给一个字段(属性) 添加错误消息

fieldName: 字段(属性)名

errorMessage: 错误消息

errorMessage被存放在一个Map<key, value>中(其中key存放的是fieldName,value存放的是errorMessage)。 可以去看源码

 

显示消息的标签是(如放在jsp页面中):

<!-- 例子 1 -->

<s:fielderror />   显示全部的错误消息(用addFieldError方法添加的 )

 

<!-- 例子 2 -->

<s:fielderror>

<s:param>field1 </s:param> 显示指定的 field1字段的 错误消息

<s:param>field2 </s:param> 显示指定的 field2字段的 错误消息

</s:fielderror>

<s:form .... > .... </s:form>

------------------------------------------------------------------

默认主题下, <s:form />能显示错误信息,能自动添加表格排版,(此时错误信息显示在输入文本框的正上方)

修改主题:<s:form theme="simple"> 不能显示错误信息,不能自动添加表格排版.

-----------------------------------------------

ActionSupport类还有一个 public boolean hasErrors () 方法,  其实他内部实现是这样的:

(hasActionErrors() || hasFieldErrors())  , 分别检查有无Action级别的错误信息, 有无Fidld级别的错误的信息.

只要一个为真, 就跳回input 实图, 并显示错误信息(如果你写了相应的标签)

抱歉!评论已关闭.