[ 
https://issues.apache.org/jira/browse/WW-4194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bruce Phillips updated WW-4194:
-------------------------------

    Assignee: Bruce Phillips
    
> Using findValue() for value stack to retrieve component parameters always 
> returns not-null object for any parameter name
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: WW-4194
>                 URL: https://issues.apache.org/jira/browse/WW-4194
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.3.15.1
>            Reporter: Sergey Tychina
>            Assignee: Bruce Phillips
>             Fix For: 2.3.17
>
>
> Calling valueStack.findValue("parameter.ANY_STRING") in a component returns 
> not-null value even if there were no parameters passed to the component.
> Example:
> {code:title=TestAction.java|borderStyle=solid}
> import com.opensymphony.xwork2.ActionSupport;
> import org.apache.struts2.interceptor.ServletRequestAware;
> import javax.servlet.http.HttpServletRequest;
> /**
>  * @author Sergey Tychina
>  */
> public class TestAction extends ActionSupport implements ServletRequestAware {
>     private HttpServletRequest request;
>     public String execute() {
>         return SUCCESS;
>     }
>     @Override
>     public void setServletRequest(HttpServletRequest request) {
>         this.request = request;
>     }
> }
> {code}
> {code:title=testaction.jsp (mapped for success result for the 
> TestAction)|borderStyle=solid}
> <%@ taglib prefix="s" uri="/struts-tags" %>
> <s:component template="/testcomponent.jsp">
>     <s:param name="testval" value="1"/>
> </s:component>
> {code}
> {code:title=testcomponent.jsp|borderStyle=solid}
> <%@ page import="com.opensymphony.xwork2.util.ValueStack" %>
> <%@ page import="org.apache.struts2.ServletActionContext" %>
> <%
>     ValueStack valueStack = (ValueStack) 
> request.getAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY);
>     Object foundValue = valueStack.findValue("parameters.ANY_PARAM_NAME");
> %>
> <%=foundValue == null ? "NULL" : "NOT NULL"%>
> {code}
> This component will always print "NOT NULL" to the screen.
> Thanks,
>   Sergey.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to