double Name expression gets escaped without being evaluated
-----------------------------------------------------------

                 Key: WW-2993
                 URL: https://issues.apache.org/struts/browse/WW-2993
             Project: Struts 2
          Issue Type: Bug
    Affects Versions: 2.0.14
            Reporter: Qiang Zheng


In DoubleListUIBean.java, there is one piece of code trying to populate 
"doubleId" parameter. Looks like when "form!=null" this.doubleName get escaped 
without being evaluated. The counter part in "form is null" case does 
"findString" before do "escape". This cause problem when we pass in doubleName 
as
"%{#attr.name}", the lower part of "doubleId" became "_%{#attr_name}". Here is 
the code.
-----------------------------------------------------------------
if (doubleId != null) {
.....           
        } else if (form != null) {
            addParameter("doubleId", form.getParameters().get("id") + "_" 
+escape(this.doubleName));
        } else {
            addParameter("doubleId", escape(doubleName !=null ? 
findString(doubleName) : null));
        }
-----------------------------------------------------------------
Should it acutally be:


if (doubleId != null) {
.....           
        } else if (form != null) {
            addParameter("doubleId", form.getParameters().get("id") + "_" 
+escape(doubleName !=null ? findString(doubleName) : null));
        } else {
            addParameter("doubleId", escape(doubleName !=null ? 
findString(doubleName) : null));
        }



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to