1 33 34 package com.icesoft.faces.renderkit.dom_html_basic; 35 36 import com.icesoft.faces.context.DOMContext; 37 import org.w3c.dom.Element ; 38 import org.w3c.dom.Text ; 39 40 import javax.faces.component.UIComponent; 41 import javax.faces.component.UIInput; 42 import javax.faces.context.FacesContext; 43 import java.io.IOException ; 44 import java.util.HashSet ; 45 46 public class TextareaRenderer extends DomBasicInputRenderer { 47 48 public void encodeBegin(FacesContext context, UIComponent component) 49 throws IOException { 50 validateParameters(context, component, UIInput.class); 51 } 52 53 public void encodeChildren(FacesContext context, UIComponent component) { 54 validateParameters(context, component, UIInput.class); 55 } 56 57 protected void renderEnd(FacesContext facesContext, UIComponent component, 58 String currentValue) 59 throws IOException { 60 61 validateParameters(facesContext, component, UIInput.class); 62 63 DOMContext domContext = 64 DOMContext.attachDOMContext(facesContext, component); 65 66 if (!domContext.isInitialized()) { 67 Element root = domContext.createElement("textarea"); 68 domContext.setRootNode(root); 69 setRootElementId(facesContext, root, component); 70 root.setAttribute("name", component.getClientId(facesContext)); 71 Text valueNode = domContext.getDocument().createTextNode(""); 72 root.appendChild(valueNode); 73 } 74 Element root = (Element ) domContext.getRootNode(); 75 76 String styleClass = 77 (String ) component.getAttributes().get("styleClass"); 78 if (styleClass != null) { 79 root.setAttribute("class", styleClass); 80 } 81 PassThruAttributeRenderer 82 .renderAttributes(facesContext, component, null); 83 84 String dir = (String ) component.getAttributes().get("dir"); 85 if (dir != null) { 86 root.setAttribute("dir", dir); 87 } 88 89 Text valueNode = (Text ) root.getFirstChild(); 90 if (currentValue != null) { 91 valueNode.setData(currentValue); 92 } else { 93 valueNode.setData(""); 96 } 97 HashSet excludes = new HashSet (); 98 addJavaScript(facesContext, component, root, currentValue, excludes); 99 domContext.stepOver(); 100 domContext.streamWrite(facesContext, component); 101 } 102 103 protected void addJavaScript(FacesContext facesContext, 104 UIComponent uiComponent, Element root, 105 String currentValue, 106 HashSet excludes) { 107 } 108 109 } 110 | Popular Tags |