2014-05-20 46 views
0

我得到以下異常沒有結果定義,並導致AddBill

SEVERE: Exception occurred during processing request: No result defined for action iland.login.LoginAction and result AddBill 
    No result defined for action iland.login.LoginAction and result AddBill 

這裏AddBill AMD儀表盤是基於角色值的兩個動作,我想它重定向到適當的行動

在行動:

if (role > 3) { 
       return "dashboard"; 
      } else if (role <= 3) { 
       return "AddBill"; 
      } 

在struts.xml中

<action name="login" class="iland.login.LoginAction" method="doLogin"> 
      <result name="success" type="redirect">${url}</result> 
      <result name="input">/pages/login.jsp</result> 
     </action> 
     <action name="dashboard" class="iland.login.DashBoardAction" method="fetch"> 
      <result name="success">/pages/dashboadr.jsp</result> 
      <result name="input">/pages/dashboadr.jsp</result> 
      <result name="login">/pages/login.jsp</result> 
     </action> 
<action name="AddBill" class="iland.login.LoginForPage"> 
      <result name="success">/pages/billing/AddBill.jsp</result> 
      <result name="input">/pages/billing/AddBill.jsp</result> 
      <result name="login">/pages/login.jsp</result> 
     </action> 
+1

錯誤清楚地表明你不hav e「AddBill」結果。加一個。 –

+0

在行動中,我已經包括'AddBill'和'dashboard' – xrcwrn

+0

這些不是結果,而是行爲。 –

回答

1

您必須始終返回RESULT

可使用the RedirectAction結果類型將RESULT映射到另一個Action。您不能通過返回其名稱來調用操作。

你需要這樣的:

<action name="login" class="iland.login.LoginAction" method="doLogin"> 
    <result name="success" type="redirect">${url}</result> 
    <result name="input">/pages/login.jsp</result> 

    <result name="AddBill" type="redirectAction"> 
     <param name="actionName">AddBill</param> 
    </result> 

</action> 

<action name="AddBill" class="iland.login.LoginForPage"> 
    <result name="success">/pages/billing/AddBill.jsp</result> 
    <result name="input">/pages/billing/AddBill.jsp</result> 
    <result name="login">/pages/login.jsp</result> 
</action> 

編輯

否則,@LukaszLenart的意見的建議,你可以將結果界面直接從動作返回an instance

return new ServletActionRedirectResult("AddBill"); 
+0

其工作原理:-) – xrcwrn

+1

只是爲了糾正常見的錯誤 - 您可以直接從操作中直接返回「Result」接口的實例。它沒有記錄,但它的工作原理 - 下一個版本的文檔將包含關於該記錄 –

+0

真的值得了解,我已經將它添加到答案,謝謝。 –

相關問題