2009-08-21 3 views
3

Я успешно с помощью редиректа-действия для одного из моих файлов отображения Struts2 следующим образом:Struts2 динамического имени параметра в перенаправлении-действиях

<action name="setAsCurrentCart" class="com.fmp.MyAction"> 
    <result name="success" type="redirect-action"> 
    <param name="actionName">myOtherAction</param> 
    <param name="foo">${foo}</param> 
    </result> 
    <interceptor-ref name="defaultComponentStack"/> 
</action> 

Вот что я хочу сделать, хотя:

<action name="setAsCurrentCart" class="com.fmp.MyAction"> 
    <result name="success" type="redirect-action"> 
    <param name="actionName">myOtherAction</param> 
    <param name="${dynamicParameterName}">${dynamicParameterValue}</param> 
    </result> 
    <interceptor-ref name="defaultComponentStack"/> 
</action> 

Другими словами, я хочу, чтобы имя параметра, которое я передавал, было динамическим. Кто-нибудь знает возможно ли это?

ответ

7

Собственно, это не работает. Тем не менее, мне удалось получить эту работу:

<action name="setAsCurrentCart" class="com.fmp.MyAction"> 
    <result name="success" type="redirect-action"> 
     <param name="actionName">myOtherAction</param> 
     <param name="${dynamicParameterName}">${dynamicParameterValue}</param> 
    </result> 
</action> 

Я только что предположил, что это не сработает.

1

Вы могли бы сделать это вместо этого?

<action name="setAsCurrentCart" class="com.fmp.MyAction"> 
    <result name="success" type="redirect-action"> 
     <param name="actionName">myOtherAction</param> 
     <param name="paramName">${dynamicParameterName}</param> 
     <param name="paramValue">${dynamicParameterValue}</param> 
    </result> 
</action>