addActionError() 與addFieldError ()有什麼不同, 這裡說一說,
這兩個都是com.opensymphony.xwork2.ActionSupport類下的方法.
addActionError (String anErrorMessage)
添加一個Action級別的錯誤消息到Action
anErrorMessage: 錯誤消息
顯示消息的標簽是:<s:actionerror />,顯示全部的 Action級別的錯誤消息,可以加CSS
anErrorMessage被存放在List中 . 可以去看源碼
addFieldError (String fieldName, String errorMessage)
給一個字段(屬性) 添加錯誤消息
fieldName: 字段(屬性)名
errorMessage: 錯誤消息
errorMessage被存放在一個Map中. 可以去看源碼
顯示消息的標簽是:
<!-- 例子 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 實圖, 並顯示錯誤信息(如果你寫了相應的標簽)