• Post Reply Bookmark Topic Watch Topic
  • New Topic

Passing value (parameter or attribute) from interceptor to action

 
carlos Muller
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi everybody, I search this question and don't see any solutions... I don't believe this problem in Struts2 is so difficult:

1) I've an Interceptor where I search an url to go from Database.
2) I've an possible Action (if neccesary) where catch this url that Interceptor search.

Solutions at the moment (no one works)

SOLUTION A)

INTERCEPTOR CODE:

invocation.getStack().setValue("#attr['opcionMenuDirecta']", unica.getUrl());
//OR USE: invocation.getInvocationContext().getParameters().put("directUrl", database.getUrl());

return BaseAction.SUCCESS;


STRUTS.XML CODE:

<result name="success" type="redirectAction">${directUrl}</result>


SOLUTION B)

I can use the action for a alternative solution to my problem, but I can't passing a value from interceptor to the action. I attempt:


INTERCEPTOR CODE:

HttpServletRequest request = (HttpServletRequest)invocation.getInvocationContext().get(HTTP_REQUEST);
request.setAttribute("directUrl", database.getUrl());
//OR USE: invocation.getInvocationContext().getParameters().put("directUrl", database.getUrl());
return BaseAction.SUCCESS;


STRUTS.XML CODE:


<result name="success" type="redirectAction">Action_1?directUrl=${directUrl}</result>
<!-- OR result name="success" type="redirectAction">Action_1</result -->

ACTION_1 CODE:

this.request.getAttribute("directUrl")


THIS SOLUTION, WITH THE STRUTS.XML IN "CHAIN" MODE:
<result name="success" type="chain">Action_1</result>
WORKS, BUT I DON'T WANT TO USE THE CHAIN OPTION.



any solution else?

Thanks in advance




any solution

Thanks in advance
 
my overalls have superpowers - they repel people who think fashion is important. Tiny ad:
the new thread boost feature brings a LOT of attention to your favorite threads
https://coderanch.com/t/674455/Thread-Boost-feature
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!