在開發中總遇到這個問題,No result defined for action:
緣由:Action中的屬性值爲空的時候,Struts2的默認攔截器會報錯,可是又找不到input的Result,不可以把錯誤返回,因此報這種錯誤。
解決方法:
1.在頁面中給空值賦默認值。
2.從新定義一個Action,去掉空值的成員變量。
3.添加input的Result,並在這個頁面給出提示
--------------------------------------------------------------------------
當你在用struts2開發時,若是,從頁面跳入action時,頁面報No result defined for action and result時,大部分的緣由有如下幾種:
1、validate方法沒有經過;
2、頁面元素中有重命名時,但後臺action類的對應的接收此同名參數的是變量而沒有寫成數組
要檢查這種錯誤時,能夠
1,在後臺action類中重寫ActionSupport中的
void addActionError(String anErrorMessage)
void addActionMessage(String aMessage)
void addFieldError(String fieldName, String errorMessage)
這三個方法,在並在其實現代碼中設置斷點,監控傳入的參數,並可獲知頁面的相關報錯具體緣由.
2,在頁面中加入如下標籤,將錯誤顯示出來 :
< div style =」color:red」 >
< s:fielderror />
</ div >
--------------------------------------------------------------------------
public void addActionError(String anErrorMessage){
String s=anErrorMessage;
System.out.println(s);
}
public void addActionMessage(String aMessage){
String s=aMessage;
System.out.println(s);
}
public void addFieldError(String fieldName, String errorMessage){
String s=errorMessage;
String f=fieldName;
System.out.println(s);
System.out.println(f);
}數組