2016-02-19 2 views
0

Я хочу перенаправить действие с помощью параметра «id».Как перенаправить действие расположений с динамическим параметром

Я использовал этот код в 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, например;

<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 должен быть переменной говоря идентификатор.

надеюсь, что это вам очень поможет

+0

У меня уже есть getter и setter в классе UserAffair. Если я установил фиксированный «id» как: 1,2,3 и непосредственно инициировал действие viewProfile, параметр «id» можно распечатать на странице jsp. –

Смежные вопросы