Fix for RichFaces and Spring Faces component interop.

This commit is contained in:
Jeremy Grelle
2008-05-12 15:10:10 +00:00
parent d288db1e96
commit 00a4ecf987
4 changed files with 20 additions and 8 deletions

View File

@@ -22,6 +22,7 @@ import javax.faces.context.FacesContext;
import javax.faces.render.Renderer; import javax.faces.render.Renderer;
import org.springframework.faces.ui.resource.ResourceHelper; import org.springframework.faces.ui.resource.ResourceHelper;
import org.springframework.faces.webflow.JsfUtils;
/** /**
* Base {@link Renderer} for components that require the Dojo implementation of Spring JavaScript to be available on the * Base {@link Renderer} for components that require the Dojo implementation of Spring JavaScript to be available on the
@@ -45,11 +46,13 @@ public abstract class BaseDojoComponentRenderer extends BaseSpringJavascriptComp
public void encodeBegin(FacesContext context, UIComponent component) throws IOException { public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
super.encodeBegin(context, component); super.encodeBegin(context, component);
resourceHelper.renderStyleLink(context, dijitThemePath + dijitTheme + "/" + dijitTheme + ".css"); if (!JsfUtils.isAsynchronousFlowRequest()) {
resourceHelper.renderStyleLink(context, dijitThemePath + dijitTheme + "/" + dijitTheme + ".css");
resourceHelper.renderScriptLink(context, dojoJsResourceUri); resourceHelper.renderScriptLink(context, dojoJsResourceUri);
resourceHelper.renderScriptLink(context, springDojoJsResourceUri); resourceHelper.renderScriptLink(context, springDojoJsResourceUri);
}
} }
} }

View File

@@ -22,6 +22,7 @@ import javax.faces.context.FacesContext;
import javax.faces.render.Renderer; import javax.faces.render.Renderer;
import org.springframework.faces.ui.resource.ResourceHelper; import org.springframework.faces.ui.resource.ResourceHelper;
import org.springframework.faces.webflow.JsfUtils;
/** /**
* Base {@link Renderer} for components that require the Spring JavaScript library on the client. * Base {@link Renderer} for components that require the Spring JavaScript library on the client.
@@ -39,6 +40,8 @@ public abstract class BaseSpringJavascriptComponentRenderer extends BaseComponen
super.encodeBegin(context, component); super.encodeBegin(context, component);
resourceHelper.renderScriptLink(context, springJsResourceUri); if (!JsfUtils.isAsynchronousFlowRequest()) {
resourceHelper.renderScriptLink(context, springJsResourceUri);
}
} }
} }

View File

@@ -22,6 +22,7 @@ import javax.faces.context.FacesContext;
import javax.faces.render.Renderer; import javax.faces.render.Renderer;
import org.springframework.faces.ui.resource.ResourceHelper; import org.springframework.faces.ui.resource.ResourceHelper;
import org.springframework.faces.webflow.JsfUtils;
public abstract class BaseSpringJavascriptDecorationRenderer extends Renderer { public abstract class BaseSpringJavascriptDecorationRenderer extends Renderer {
@@ -31,7 +32,9 @@ public abstract class BaseSpringJavascriptDecorationRenderer extends Renderer {
public void encodeBegin(FacesContext context, UIComponent component) throws IOException { public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
resourceHelper.renderScriptLink(context, springJsResourceUri); if (!JsfUtils.isAsynchronousFlowRequest()) {
resourceHelper.renderScriptLink(context, springJsResourceUri);
}
} }
} }

View File

@@ -25,6 +25,7 @@ import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter; import javax.faces.context.ResponseWriter;
import org.springframework.faces.ui.resource.ResourceHelper; import org.springframework.faces.ui.resource.ResourceHelper;
import org.springframework.faces.webflow.JsfUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
@@ -52,11 +53,13 @@ public class DojoDecorationRenderer extends BaseSpringJavascriptDecorationRender
super.encodeBegin(context, component); super.encodeBegin(context, component);
resourceHelper.renderStyleLink(context, dijitThemePath + dijitTheme + "/" + dijitTheme + ".css"); if (!JsfUtils.isAsynchronousFlowRequest()) {
resourceHelper.renderStyleLink(context, dijitThemePath + dijitTheme + "/" + dijitTheme + ".css");
resourceHelper.renderScriptLink(context, dojoJsResourceUri); resourceHelper.renderScriptLink(context, dojoJsResourceUri);
resourceHelper.renderScriptLink(context, springDojoJsResourceUri); resourceHelper.renderScriptLink(context, springDojoJsResourceUri);
}
} }
public void encodeEnd(FacesContext context, UIComponent component) throws IOException { public void encodeEnd(FacesContext context, UIComponent component) throws IOException {