2013-02-27 41 views
2

這裏是我的struts.xml沒有結果的行動<class>定義,並導致輸入

<package name="ajax" extends="json-default" > 
    <action name="loadcity" method="loadcity" class="roseindia.action.user.RegisterUser" > 
     <result type="json" /> 
    </action> 
</package> 

當我打電話loadcity.action我收到以下錯誤

No result defined for action roseindia.action.user.RegisterUser and result input 

這裏是我的操作方法:

public String loadcity() 
{ 
    country=request.getParameter("country"); 

    cityList= dao.loadcity(country); 
    return ActionSupport.SUCCESS; 
} 

回答

0

您的XML節點result應具有name的屬性值"input",因爲這是您要返回的值。

所以你的struts.xml應該是:

<package name="ajax" extends="json-default" > 
    <action name="loadcity" method="loadcity" class="roseindia.action.user.RegisterUser" > 
     <result name="input" type="json" /> 
    </action> 
</package> 

編輯:

另一個錯誤可能是:

You are getting a validation or type conversion exception, so it looks for the "input" result.

Fix the validation/type conversion exception.

來源:struts 2 json plugin throws error no result type is defined

+0

對JSON插件不要求..... – user1773207 2013-02-27 18:18:20

+0

可您嘗試命名該結果爲「輸入」?順便說一句 – 2013-02-27 18:22:30

+0

... @ user1773207這個調用是否有任何驗證?可能它在某個時候失敗... – 2013-02-27 18:24:42

1

validation攔截可能[R如果您正在執行POST請求,請參閱INPUT結果。通常,您已完成將"input"結果添加到操作配置,但只要返回"json"結果,您可以從驗證中排除此操作,或檢查返回給調用方的結果類型或狀態代碼以處理內容。

+0

該方法在配置中定義;沒有必要手動指定它。 – 2013-02-27 18:32:29

2

首先,您的srtuts.xml文件並未完全定義應在您的操作執行響應中呈現的結果類型。 result標記在Struts2 MVC框架中扮演着角色。該行爲負責執行業務邏輯。執行業務邏輯之後的下一步是使用標籤顯示視圖。 在這裏你可以做一件事

<package name="ajax" extends="json-default" > 
    <action name="loadcity" method="loadcity" class="roseindia.action.user.RegisterUser" > 
     <result name="input" type="json" /> 
    </action> 
</package> 
相關問題