2016-02-19 32 views
0

我想用參數「id」重定向動作。如何使用動態參數重定向struts動作

我在struts.xml中

<action name="register" class="com.framework.strust2.UserAffair"> 
     <result name="success" type="redirectAction"> 
      <param name="actionName">viewProfile</param> 
      <param name="id">${id}</param> 
     </result> 
</action> 

它適用於行動偏轉與參數名ID使用此代碼,而不是參數值$ {ID}。它只適用於常量ID,比如;

<param name="id">1</param> 

雖然我搜索了我的問題的解決方案,但沒有任何情況符合我所需。 PLS。

+0

在動作類中你應該定義id變量。你可以放下你的動作類代碼,以便我們可以得到一個更好的主意 – Rahul

+2

[Struts2 - 如何做動態URL重定向?](http://stackoverflow.com/questions/173846/struts2-how-to -do-dynamic-url-redirects) –

+0

太棒了!感謝@Roman C.它終於有效。 –

回答

1

對於傳遞參數與動作,你應該有確定的行動是可變的,如果你使用的模型驅動方法則該參數應該是POJO即

這是你的struts.xml的操作配置。

<action name="register" class="com.framework.strust2.UserAffair"> 
    <result name="success" type="redirectAction"> 
     <param name="actionName">viewProfile</param> 
     <param name="id">${id}</param> 
    </result> 
</action> 

所以在你的動作類中應該有可變的sayaing id。 即

class UserAffair{ 
private int id; 

//setter and getter 
} 

,如果您使用的模型drivan然後在你的POJO應該有一個可變的話說ID。

希望所以這會幫助你很多

+0

我已經在UserAffair類中獲得了getter和setter。如果我設置如下所示的固定「id」:1,2,3,並直接觸發viewProfile動作,參數「id」可以打印在jsp頁面中。 –