Walid Ghafir created WW-4299:
--------------------------------

             Summary: Components: "id" parameter is deleted
                 Key: WW-4299
                 URL: https://issues.apache.org/jira/browse/WW-4299
             Project: Struts 2
          Issue Type: Bug
          Components: Plugin - Tags
    Affects Versions: 2.3.16.1
            Reporter: Walid Ghafir
            Priority: Critical


When using <s:component> tag, *parameter* named "id" is not accessible in 
component.  That seems to be due to UIBean.populateComponentHtmlId() method 
which always overwrites it with value of *attribute* named "id", even if id 
attribute has not been specified.

For example, here is a call to a test JSP component:
{code}
<s:component template="TestComponent.jsp">
        <s:param name="id" value="'testIdValue'"/>
        <s:param name="test" value="'testTestValue'"/>
</s:component>
{code}
If TestComponent.jsp, {{parameters.test}} will have value "testTestValue" and 
{{parameters.id}} will be null although it's expected to be "testIdValue".

I think that it's due to method {{populateComponentHtmlId(Form form)}} in 
{{org.apache.struts2.components.UIBean}} class that always does this, at the 
end of the method body:
{code}
addParameter("id", tryId);
{code}




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to