⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 choicerenderer.java

📁 struts框架的jsf组件的核心实用例子集合
💻 JAVA
字号:
package com.corejsf.j2me;import java.io.IOException;import java.net.URLEncoder;import java.util.List;import java.util.Map;import javax.faces.component.UIComponent;import javax.faces.component.EditableValueHolder;import javax.faces.component.ValueHolder;import javax.faces.context.FacesContext;import javax.faces.context.ResponseWriter;import javax.faces.model.SelectItem;import javax.faces.render.Renderer;public class ChoiceRenderer extends Renderer {   public void encodeEnd(FacesContext context, UIComponent component)      throws IOException {      ResponseWriter writer = context.getResponseWriter();      EditableValueHolder input = (EditableValueHolder) component;      String id = component.getId();      List items = com.corejsf.util.Renderers.getSelectItems(component);      String value = input.getValue().toString();      String label = findLabel(items, value);      writer.write(id + "=" + URLEncoder.encode(label, "UTF8") + "\n");      for (int i = 0; i < items.size(); i++) {         SelectItem item = (SelectItem) items.get(i);         writer.write(id + ".label." + i             + "=" + URLEncoder.encode(item.getLabel(), "UTF8") + "\n");      }   }   public void decode(FacesContext context, UIComponent component) {      if (context == null || component == null) return;      String id = component.getId();      Map requestMap          = context.getExternalContext().getRequestParameterMap();      if (requestMap.containsKey(id)          && component instanceof ValueHolder) {         String label = (String) requestMap.get(id);         List items = com.corejsf.util.Renderers.getSelectItems(component);          Object value = findValue(items, label);         ((ValueHolder) component).setValue(value);      }   }   private static Object findValue(List list, String label) {      for (int i = 0; i < list.size(); i++) {         SelectItem item = (SelectItem) list.get(i);         if (item.getLabel().equals(label)) return item.getValue();      }      return null;   }   private static String findLabel(List list, Object value) {          for (int i = 0; i < list.size(); i++) {         SelectItem item = (SelectItem) list.get(i);         if (item.getValue().equals(value)) return item.getLabel();      }      return null;   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -