1 5 package org.exoplatform.portlets.weather.renderer.html; 6 7 import java.util.Map ; 8 import java.io.IOException ; 9 import javax.faces.component.UIComponent; 10 import javax.faces.context.FacesContext; 11 import javax.faces.context.ResponseWriter; 12 import org.exoplatform.faces.core.component.model.*; 13 import org.exoplatform.faces.core.renderer.html.HtmlBasicRenderer; 14 import org.exoplatform.portlets.weather.component.UISelectList; 15 16 public class SelectListRenderer extends HtmlBasicRenderer { 17 18 public void decode(FacesContext context, UIComponent component) { 19 UISelectList uiList = (UISelectList) component; 20 Map paramMap = context.getExternalContext().getRequestParameterMap(); 21 22 String value = (String ) paramMap.get(uiList.getName()) ; 23 if (value != null) { 24 uiList.setValue(value); 25 } 26 } 27 28 public void encodeBegin(FacesContext context, UIComponent component) throws IOException { 29 UISelectList uiList = (UISelectList) component; 30 ResponseWriter w = context.getResponseWriter() ; 31 String disabled = "" ; 32 33 if(!uiList.isEditable()) disabled = "disabled " ; 34 w.write("<select "); w.write(disabled); w.write("name='"); w.write(uiList.getName()); w.write("'") ; 35 w.write(" id='"); w.write(uiList.getName()); w.write("'") ; 36 37 if(uiList.getClazz() != null) { 38 w.write(" class='"); w.write(uiList.getClazz()); w.write("'") ; 39 } 40 41 w.write(">\n") ; 42 43 for(int i=0; i < uiList.getOptions().size(); i++) { 44 SelectItem si = (SelectItem) uiList.getOptions().get(i) ; 45 if (si.value_.equals(uiList.getValue())) { 46 w.write("<option selected value=\""); w.write(si.value_); w.write("\">"); 47 w.write(si.display_); w.write("</option>\n"); 48 } else { 49 w.write("<option value=\""); w.write(si.value_); w.write("\">"); 50 w.write(si.display_); w.write("</option>\n"); 51 } 52 } 53 54 w.write("</select>\n") ; 55 } 56 57 public void encodeChildren(FacesContext context, UIComponent component) throws IOException { 58 } 59 60 public void encodeEnd(FacesContext context, UIComponent component) throws IOException { 61 } 62 } | Popular Tags |