You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (JIRA)" <ji...@apache.org> on 2017/04/21 14:14:04 UTC
[jira] [Commented] (WW-4788) Parameters which are added via
ServletDispatcherResult aren't availabe in #parameters
[ https://issues.apache.org/jira/browse/WW-4788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15978792#comment-15978792 ]
Lukasz Lenart commented on WW-4788:
-----------------------------------
I have tested with Struts 2.5.10.1 and it works (in a real app, not a unittest)
{code:java}
public String execute() throws Exception {
Object value = ServletActionContext.getValueStack(ServletActionContext.getRequest()).findValue("#parameters.test[0]");
System.out.println(value);
return SUCCESS;
}
{code}
or is it a problem with running this code in a unittest?
> Parameters which are added via ServletDispatcherResult aren't availabe in #parameters
> -------------------------------------------------------------------------------------
>
> Key: WW-4788
> URL: https://issues.apache.org/jira/browse/WW-4788
> Project: Struts 2
> Issue Type: Bug
> Components: Core Results, Value Stack
> Affects Versions: 2.5.10
> Reporter: Michael Hintenaus
> Fix For: 2.5.next
>
>
> before Version 2.5.5 the parameters were accessible via #parameters (example: #parameters.foo)
> now I won't get the parameters which are defined via location, only the request parameters
> I have an action like this
> {code:title=MyTest.java|borderStyle=solid}
> @Action(value = "execute", results = @Result(name = SUCCESS, type = DISPATCHER, location = "index.jsp?foo=bar"))
> public String execute() {
> return super.execute();
> }
> {code}
> and that's the TestCase
> {code:title=MyTest.java|borderStyle=solid}
> @Test
> public void testParameters() throws UnsupportedEncodingException, ServletException {
> request.addParameter("test", "me");
> executeAction("/test/dispatcher/execute.html");
> assertEquals("me", findValueAfterExecute("#parameters.test[0]"));
> assertEquals("bar", findValueAfterExecute("#parameters.foo[0]"));
> }
> {code}
> my current workaround:
> {code}
> #attr['com.opensymphony.xwork2.ActionContext.parameters'].foo
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)