1 33 34 package com.icesoft.tutorial; 35 36 38 import com.icesoft.faces.context.DOMContext; 39 import com.icesoft.faces.renderkit.dom_html_basic.DomBasicInputRenderer; 40 import com.icesoft.faces.renderkit.dom_html_basic.PassThruAttributeRenderer; 41 import org.w3c.dom.Element ; 42 43 import javax.faces.component.UIComponent; 44 import javax.faces.component.UIInput; 45 import javax.faces.context.FacesContext; 46 import java.io.IOException ; 47 import java.util.Map ; 48 49 50 public class TutorialInputTextRenderer extends 51 DomBasicInputRenderer { 52 53 public TutorialInputTextRenderer() { 54 super(); 55 } 56 57 60 public void decode(FacesContext facesContext, 61 UIComponent uiComponent) { 62 validateParameters(facesContext, uiComponent, null); 63 if (!(uiComponent instanceof UIInput)) { 65 return; 66 } 67 if (isStatic(uiComponent)) { 69 return; 70 } 71 String clientId = uiComponent.getClientId(facesContext); 73 if (clientId == null) { 74 System.out.println("Client id is not defined for decoding"); 75 } 76 Map requestMap = 77 facesContext.getExternalContext().getRequestParameterMap(); 78 if (requestMap.containsKey(clientId)) { 79 String decodedValue = (String ) requestMap.get(clientId); 80 setSubmittedValue(uiComponent, decodedValue); 82 } 83 } 84 85 88 public void encodeEnd(FacesContext facesContext, UIComponent uiComponent) 89 throws IOException { 90 91 DOMContext domContext = 92 DOMContext.attachDOMContext(facesContext, uiComponent); 93 94 if (!domContext.isInitialized()) { 95 Element root = domContext.createRootElement("input"); 96 setRootElementId(facesContext, root, uiComponent); 97 root.setAttribute("type", "text"); 98 root.setAttribute("name", uiComponent.getClientId(facesContext)); 99 } 100 101 Element root = (Element ) domContext.getRootNode(); 102 103 root.setAttribute("onkeydown", this.ICESUBMIT); 104 105 String [] excludesArray = new String [1]; 107 excludesArray[0] = "onkeydown"; 108 109 PassThruAttributeRenderer 111 .renderAttributes(facesContext, uiComponent, excludesArray); 112 113 114 } 115 116 } | Popular Tags |