Author: nbelaevski
Date: 2008-06-20 09:39:50 -0400 (Fri, 20 Jun 2008)
New Revision: 9139
Modified:
trunk/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java
trunk/ui/componentControl/src/main/java/org/richfaces/renderkit/ComponentControlRendererBase.java
trunk/ui/componentControl/src/main/templates/htmlComponentControl.jspx
Log:
Proper escapement for JavaScript parameters added
Modified:
trunk/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java
===================================================================
---
trunk/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java 2008-06-20
13:39:43 UTC (rev 9138)
+++
trunk/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java 2008-06-20
13:39:50 UTC (rev 9139)
@@ -48,9 +48,7 @@
JSFunction invocation = new
JSFunction("Richfaces.componentControl.performOperation");
invocation.addParameter(new JSReference("event"));
- //FIXME: Maksim
- //Replacement looks ugly - move that functionality to HtmlUtil
- invocation.addParameter(targetId.replace("\\\\", "\\"));
+ invocation.addParameter(targetId);
invocation.addParameter(getOperation());
invocation.addParameter(new JSReference("{" + getEncodedParametersMap() +
"}"));
invocation.addParameter(Boolean.valueOf(isDisableDefault()));
Modified:
trunk/ui/componentControl/src/main/java/org/richfaces/renderkit/ComponentControlRendererBase.java
===================================================================
---
trunk/ui/componentControl/src/main/java/org/richfaces/renderkit/ComponentControlRendererBase.java 2008-06-20
13:39:43 UTC (rev 9138)
+++
trunk/ui/componentControl/src/main/java/org/richfaces/renderkit/ComponentControlRendererBase.java 2008-06-20
13:39:50 UTC (rev 9139)
@@ -127,7 +127,7 @@
} else if (isImmediate) {
}
writer.write(attachEventBodyStart);
- writer.write(replaceClientIds(context, component, result[i]));
+ writer.write(getUtils().escapeJavaScript(replaceClientIds(context, component,
result[i])));
writer.write(attachEventBodyEnd.toString());
if (isOnLoad || isOnAvailable) {
Modified: trunk/ui/componentControl/src/main/templates/htmlComponentControl.jspx
===================================================================
--- trunk/ui/componentControl/src/main/templates/htmlComponentControl.jspx 2008-06-20
13:39:43 UTC (rev 9138)
+++ trunk/ui/componentControl/src/main/templates/htmlComponentControl.jspx 2008-06-20
13:39:50 UTC (rev 9139)
@@ -31,7 +31,8 @@
String operation = (String) variables.getVariable("operation");
checkValidity(clientId, name, attachTiming, forAttr, operation);
- variables.setVariable("forAttr", replaceClientIds(context, component,
forAttr));
+ variables.setVariable("forAttr", getUtils().escapeJavaScript(
+ replaceClientIds(context, component, forAttr)));
variables.setVariable("attachTo", replaceClientIds(context, component,
attachTo));
]]>
</jsp:scriptlet>