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)