/** * Render a Facelet */ protected void renderFacelet(FacesContext facesContext, Facelet facelet) throws IOException { UIViewRoot root = facesContext.getViewRoot(); facelet.apply(facesContext, root); JSF.renderChildren(facesContext, root); } }
public static Integer getIntegerValue(FacesContext context, ValueExpression vb) { String value = getStringValue(context, vb); if (value == null) { return null; } return new Integer(value); }
public static void renderChildren(FacesContext facesContext, UIComponent component) throws IOException { List children = component.getChildren(); for (int j=0, size = component.getChildCount(); j<size; j++) { UIComponent child = (UIComponent) children.get(j); renderChild(facesContext, child); } }
public String extractText(FacesContext context, UIComponent child) throws IOException { ResponseWriter response = context.getResponseWriter(); StringWriter stringWriter = new StringWriter(); ResponseWriter cachingResponseWriter = response.cloneWithWriter(stringWriter); context.setResponseWriter(cachingResponseWriter); JSF.renderChild(context, child); context.setResponseWriter(response); return stringWriter.getBuffer().toString(); }
/** * Helper method for rendering a component (usually on a facescontext with a caching * reponsewriter) * * @param facesContext The faces context to render to * @param component The component to render * @return The textual representation of the component * @throws IOException If the JSF helper class can't render the component */ public static String cmp2String(FacesContext facesContext, UIComponent component) throws IOException { ResponseWriter oldResponseWriter = facesContext.getResponseWriter(); String contentType = oldResponseWriter != null ? oldResponseWriter.getContentType() : DEFAULT_CONTENT_TYPE; String characterEncoding = oldResponseWriter != null ? oldResponseWriter.getCharacterEncoding() : DEFAULT_CHARACTER_ENCODING; RenderKit renderKit = facesContext.getRenderKit(); StringWriter cacheingWriter = new StringWriter(); ResponseWriter newResponseWriter = renderKit.createResponseWriter(cacheingWriter, contentType, characterEncoding); facesContext.setResponseWriter(newResponseWriter); JSF.renderChild(facesContext, component); if (oldResponseWriter != null) { facesContext.setResponseWriter(oldResponseWriter); } cacheingWriter.flush(); cacheingWriter.close(); return cacheingWriter.toString(); }
@Override public void encodeChildren(FacesContext context) throws IOException { ResponseWriter writer = context.getResponseWriter(); StringWriter stringWriter = new StringWriter(); ResponseWriter cachingResponseWriter = writer.cloneWithWriter(stringWriter); context.setResponseWriter(cachingResponseWriter); JSF.renderChildren(context, this); context.setResponseWriter(writer); String output = stringWriter.getBuffer().toString(); addFromHtml(output); }
public static Double getDoubleValue(FacesContext context, ValueExpression vb) { String value = getStringValue(context, vb); if (value == null) { return null; } return new Double(value); }
public static void renderChild(FacesContext facesContext, UIComponent child) throws IOException { if ( child.isRendered() ) { child.encodeBegin(facesContext); if ( child.getRendersChildren() ) { child.encodeChildren(facesContext); } else { renderChildren(facesContext, child); } child.encodeEnd(facesContext); } }