Author: nbelaevski
Date: 2008-11-24 15:00:12 -0500 (Mon, 24 Nov 2008)
New Revision: 11337
Modified:
trunk/ui/core/src/main/java/org/ajax4jsf/renderkit/html/scripts/QueueScriptResourceRenderer.java
Log:
Added namespace encoding for queue script client id in non-ajax requests
Modified:
trunk/ui/core/src/main/java/org/ajax4jsf/renderkit/html/scripts/QueueScriptResourceRenderer.java
===================================================================
---
trunk/ui/core/src/main/java/org/ajax4jsf/renderkit/html/scripts/QueueScriptResourceRenderer.java 2008-11-24
19:34:21 UTC (rev 11336)
+++
trunk/ui/core/src/main/java/org/ajax4jsf/renderkit/html/scripts/QueueScriptResourceRenderer.java 2008-11-24
20:00:12 UTC (rev 11337)
@@ -33,6 +33,7 @@
import javax.faces.context.ResponseWriter;
import org.ajax4jsf.component.QueueRegistry;
+import org.ajax4jsf.context.AjaxContext;
import org.ajax4jsf.javascript.JSObject;
import org.ajax4jsf.javascript.ScriptUtils;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
@@ -101,12 +102,23 @@
}
}
+ private String encodeQueueScriptId(FacesContext context) {
+ String encodedId = QUEUE_SCRIPT_ID;
+
+ AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
+ if (!ajaxContext.isAjaxRequest()) {
+ encodedId = context.getExternalContext().encodeNamespace(encodedId);
+ }
+
+ return encodedId;
+ }
+
@Override
public void encode(InternetResource resource, FacesContext context,
Object data, Map<String, Object> attributes) throws IOException {
Map<String,Object> newAttributes = new LinkedHashMap<String,
Object>(attributes);
- newAttributes.put(HTML.id_ATTRIBUTE,
context.getExternalContext().encodeNamespace(QUEUE_SCRIPT_ID));
+ newAttributes.put(HTML.id_ATTRIBUTE, encodeQueueScriptId(context));
doEncode(resource, context, data, newAttributes);
}
@@ -116,8 +128,7 @@
Object data) throws IOException {
doEncode(resource, context, data,
- Collections.singletonMap(HTML.id_ATTRIBUTE,
- (Object) context.getExternalContext().encodeNamespace(QUEUE_SCRIPT_ID)));
+ Collections.singletonMap(HTML.id_ATTRIBUTE, (Object) encodeQueueScriptId(context)));
}
@Override
Show replies by date