addFieldError與addActionError的區別

addActionError() 與addFieldError ()都是com.opensymphony.xwork2.ActionSupport類下的方法. jsp

---------------------------------------------------------------------------------- orm

1. input

addActionError (StringanErrorMessage) 源碼

添加一個Action級別的錯誤消息到Action io

anErrorMessage: 錯誤消息 form

顯示消息的標籤是(如放在jsp頁面中): List

<s:actionerror />顯示所有的 Action級別的錯誤消息,能夠加CSS代碼。 方法

anErrorMessage被存放在List列表中 。能夠去看源碼 im

---------------------------------------------------------------------------------- error

2.

addFieldError (StringfieldName, StringerrorMessage)

給一個字段(屬性) 添加錯誤消息

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 實圖, 並顯示錯誤信息(若是你寫了相應的標籤)

相關文章
相關標籤/搜索