Как передать параметры при перенаправлении в другое действие, используя type=redirect?

Мне нужно передать параметр от действия к другому, но он сталкивается со следующей ошибкой.

Messages:   
There is no Action mapped for namespace [/Product/Product] and action name [desc] associated with context path [].

struts.xml

 <package name="MyProducts" extends="default" namespace="/Product/Find">
 <result name="Desc" type="redirectAction">
                <param name="actionName">../Product/desc</param>
                <param name="id">${id}</param>
 </result>
 ....

 <package name="Product" extends="default" namespace="/Product">
    ..........

В первом действии (в пространстве имен /Product/Find) я устанавливаю идентификатор, который имеет getter и setter.

Во втором действии (в пространстве имен /Product) у меня есть переменная id, а также getter и setter.

2 ответа

Решение

Добавьте еще один../ к вашему адресу попробуйте это../../Product/desc

или же

Я знаю, что он имеет в виду, я подумал, что мне просто нужно ответить на ваш вопрос, не предлагая никакого другого подхода,

   <result name="YOUR RESULT NAME" type="redirectAction">
           <param name="actionName">desc</param>
           <param name="namespace">/Product</param>
   </result>

Не используйте перед именем пространства имен знак /, иначе он не будет работать. Для перенаправления на действие в пакете по умолчанию используйте / в качестве параметра пространства имен.

Наилучшим вариантом будет то, что вы можете установить переменную в сеансе, используя объект сеанса, а затем получить доступ к этому сеансу в классе перенаправленного действия. В любом случае, я ищу ваш ответ, передавая переменную только в действии перенаправления... был полезен для вас.

Другие вопросы по тегам