[jboss-cvs] jboss-seam/ui/src/main/java/org/jboss/seam/ui/renderkit ...
Shane Bryzak
sbryzak at redhat.com
Tue Jul 3 22:35:39 EDT 2007
User: sbryzak2
Date: 07/07/03 22:35:39
Added: ui/src/main/java/org/jboss/seam/ui/renderkit
RemoteRendererBase.java
Log:
added s:remote tag
Revision Changes Path
1.1 date: 2007/07/04 02:35:39; author: sbryzak2; state: Exp;jboss-seam/ui/src/main/java/org/jboss/seam/ui/renderkit/RemoteRendererBase.java
Index: RemoteRendererBase.java
===================================================================
package org.jboss.seam.ui.renderkit;
import java.io.IOException;
import java.util.Map;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.jboss.seam.ui.component.UIRemote;
import org.jboss.seam.ui.util.cdk.RendererBase;
/**
* Renderer for rendering the required <script> tags for Seam Remoting
*
* @author Shane Bryzak
*/
public class RemoteRendererBase extends RendererBase
{
@Override
protected Class getComponentClass()
{
return UIRemote.class;
}
@Override
protected void doEncodeBegin(ResponseWriter writer, FacesContext context, UIComponent component)
throws IOException
{
UIRemote remote = (UIRemote) component;
writeScript(context, remote);
}
@Override
protected void doEncodeEnd(ResponseWriter writer, FacesContext context, UIComponent component)
throws IOException
{
writer.flush();
}
public void writeScript(FacesContext context, UIRemote remote)
throws IOException
{
ResponseWriter response = context.getResponseWriter();
Map request = context.getExternalContext().getRequestMap();
if (request.get("REMOTE_SCRIPT") == null)
{
response.startElement("script", null);
response.writeAttribute("type", "text/javascript", null);
response.writeAttribute("src", context.getExternalContext().getRequestContextPath()
+ "/seam/resource/remoting/resource/remote.js", null);
response.endElement("script");
}
request.put("REMOTE_SCRIPT", null);
response.startElement("script", null);
response.writeAttribute("type", "text/javascript", null);
response.writeAttribute("src", context.getExternalContext().getRequestContextPath()
+ "/seam/resource/remoting/interface.js?" + remote.getInclude(), null);
response.endElement("script");
}
}
More information about the jboss-cvs-commits
mailing list