Как передать параметры при перенаправлении в другое действие, используя 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>
Не используйте перед именем пространства имен знак /, иначе он не будет работать. Для перенаправления на действие в пакете по умолчанию используйте / в качестве параметра пространства имен.
Наилучшим вариантом будет то, что вы можете установить переменную в сеансе, используя объект сеанса, а затем получить доступ к этому сеансу в классе перенаправленного действия. В любом случае, я ищу ваш ответ, передавая переменную только в действии перенаправления... был полезен для вас.