在使用Struts時,通常會報“No result defined for action and result”這個錯誤,大部份原因有以下幾種:
1、validate方法沒有通過;
2、頁面元素中有重命名時,但後臺action類的對應的接收此同名參數的是變量而沒有寫成數組,這個極有可能,我就碰到過,搞了好久才發現是這個原因
要檢查這種錯誤時,可以:
在後臺action類中重寫ActionSupport中的void addActionError(String anErrorMessage)
void addActionMessage(String aMessage)
void addFieldError(String fieldName, String errorMessage)
這三個方法,在並在其實現代碼中設置斷點,監控傳入的參數,並可獲知頁面的相關報錯具體原因. 在頁面中加入以下標籤,將錯誤顯示出來:
<div style=”color:red”>
<s:fielderror />
</div>