diff --git a/spring-faces/src/main/java/org/springframework/faces/ui/BaseDojoParentComponentRenderer.java b/spring-faces/src/main/java/org/springframework/faces/ui/BaseDojoParentComponentRenderer.java index a54299d5..0eacec69 100644 --- a/spring-faces/src/main/java/org/springframework/faces/ui/BaseDojoParentComponentRenderer.java +++ b/spring-faces/src/main/java/org/springframework/faces/ui/BaseDojoParentComponentRenderer.java @@ -1,6 +1,8 @@ package org.springframework.faces.ui; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; @@ -11,6 +13,8 @@ public abstract class BaseDojoParentComponentRenderer extends BaseSpringFacesPar private String dojoJsResourceUri = "/dojo/dojo.js"; + private String dojoCssResourceUri = "/dojo/resources/dojo.css"; + private String dijitThemePath = "/dijit/themes/"; private String dijitTheme = "tundra"; @@ -20,13 +24,16 @@ public abstract class BaseDojoParentComponentRenderer extends BaseSpringFacesPar private FlowResourceHelper resourceHelper = new FlowResourceHelper(); public void encodeBegin(FacesContext context, UIComponent component) throws IOException { + super.encodeBegin(context, component); + + resourceHelper.renderStyleLink(context, dojoCssResourceUri); resourceHelper.renderStyleLink(context, dijitThemePath + dijitTheme + "/" + dijitTheme + ".css"); - resourceHelper.renderScriptLink(context, dojoJsResourceUri); + Map dojoAttributes = new HashMap(); + dojoAttributes.put("djConfig", "parseOnLoad: true"); + resourceHelper.renderScriptLink(context, dojoJsResourceUri, dojoAttributes); resourceHelper.renderScriptLink(context, springFacesDojoJsResourceUri); - - super.encodeBegin(context, component); } } diff --git a/spring-faces/src/main/java/org/springframework/faces/ui/BaseSpringFacesParentComponentRenderer.java b/spring-faces/src/main/java/org/springframework/faces/ui/BaseSpringFacesParentComponentRenderer.java index a62b634f..c77291e7 100644 --- a/spring-faces/src/main/java/org/springframework/faces/ui/BaseSpringFacesParentComponentRenderer.java +++ b/spring-faces/src/main/java/org/springframework/faces/ui/BaseSpringFacesParentComponentRenderer.java @@ -15,8 +15,8 @@ public abstract class BaseSpringFacesParentComponentRenderer extends BaseParentC public void encodeBegin(FacesContext context, UIComponent component) throws IOException { - resourceHelper.renderScriptLink(context, springFacesJsResourceUri); - super.encodeBegin(context, component); + + resourceHelper.renderScriptLink(context, springFacesJsResourceUri); } } diff --git a/spring-faces/src/main/java/org/springframework/faces/ui/DojoRenderer.java b/spring-faces/src/main/java/org/springframework/faces/ui/DojoRenderer.java index 100898ce..d531ae12 100644 --- a/spring-faces/src/main/java/org/springframework/faces/ui/DojoRenderer.java +++ b/spring-faces/src/main/java/org/springframework/faces/ui/DojoRenderer.java @@ -16,6 +16,8 @@ package org.springframework.faces.ui; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; @@ -26,6 +28,8 @@ public class DojoRenderer extends SpringFacesRenderer { private String dojoJsResourceUri = "/dojo/dojo.js"; + private String dojoCssResourceUri = "/dojo/resources/dojo.css"; + private String dijitThemePath = "/dijit/themes/"; private String dijitTheme = "tundra"; @@ -38,9 +42,12 @@ public class DojoRenderer extends SpringFacesRenderer { super.encodeBegin(context, component); + resourceHelper.renderStyleLink(context, dojoCssResourceUri); resourceHelper.renderStyleLink(context, dijitThemePath + dijitTheme + "/" + dijitTheme + ".css"); - resourceHelper.renderScriptLink(context, dojoJsResourceUri); + Map dojoAttributes = new HashMap(); + dojoAttributes.put("djConfig", "parseOnLoad: true"); + resourceHelper.renderScriptLink(context, dojoJsResourceUri, dojoAttributes); resourceHelper.renderScriptLink(context, springFacesDojoJsResourceUri); } diff --git a/spring-faces/src/main/java/org/springframework/faces/ui/resource/FlowResourceHelper.java b/spring-faces/src/main/java/org/springframework/faces/ui/resource/FlowResourceHelper.java index 3e7d7284..8ef8203c 100644 --- a/spring-faces/src/main/java/org/springframework/faces/ui/resource/FlowResourceHelper.java +++ b/spring-faces/src/main/java/org/springframework/faces/ui/resource/FlowResourceHelper.java @@ -1,7 +1,10 @@ package org.springframework.faces.ui.resource; import java.io.IOException; +import java.util.Collections; import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; import java.util.Set; import javax.faces.context.FacesContext; @@ -31,6 +34,17 @@ public class FlowResourceHelper { * @throws IOException */ public void renderScriptLink(FacesContext facesContext, String scriptPath) throws IOException { + renderScriptLink(facesContext, scriptPath, Collections.EMPTY_MAP); + } + + /** + * Render a