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

📄 labelrenderer.java

📁 this is for appfuse1.8 source using strut 1.x, spring and hibernate.
💻 JAVA
字号:
package org.appfuse.webapp.action;import java.util.Iterator;import java.util.Locale;import java.util.Map;import javax.faces.component.UIComponent;import javax.faces.component.UIInput;import javax.faces.context.FacesContext;import javax.faces.context.ResponseWriter;import javax.faces.render.Renderer;import javax.servlet.http.HttpServletRequest;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * Custom LabelRenderer component that adds asterisks for required * fields and a colon.  Based off of an example by David Geary * on the MyFaces Mailing list. * * @author Matt Raible */public class LabelRenderer extends Renderer {    protected final Log log = LogFactory.getLog(LabelRenderer.class);    public boolean getRendersChildren() {        return false;    }    public void encodeBegin(FacesContext context, UIComponent component)    throws java.io.IOException {        ResponseWriter writer = context.getResponseWriter();        Map attrs = component.getAttributes();        String id = (String) attrs.get("for");        UIInput input = (UIInput) component.findComponent(id);        if ((input != null) && input.isRequired()) {            writer.write("* ");        }        writer.startElement("label", component);        String styleClass =            (String) component.getAttributes().get("styleClass");        boolean hasErrors = hasMessages(context, input);        if (styleClass != null) {            writer.writeAttribute("class", styleClass, null);        } else if ((input != null) && input.isRequired()) {            writer.writeAttribute("class", "required", null);        }        String renderedId =            (input != null) ? input.getClientId(context)                            : component.getClientId(context);        writer.writeAttribute("for", renderedId, null);        writer.write(attrs.get("value").toString());    }    public void encodeEnd(FacesContext context, UIComponent component)    throws java.io.IOException {        ResponseWriter writer = context.getResponseWriter();        HttpServletRequest request =            (HttpServletRequest) context.getExternalContext().getRequest();        String marker =            (request.getLocale().equals(Locale.FRENCH)) ? " :" : ":";        // Allow there to be no value - useful for creating empty cells        // in panelGrid        Map attrs = component.getAttributes();        if ("".equals(attrs.get("value").toString())) {            marker = "";        }        writer.write(marker);        writer.endElement("label");    }    private boolean hasMessages(FacesContext context, UIComponent component) {        Iterator it = context.getClientIdsWithMessages();        boolean found = false;        while (it.hasNext()) {            String id = (String) it.next();            if ((component != null) &&                    id.equals(component.getClientId(context))) {                found = true;            }        }        return found;    }}

⌨️ 快捷键说明

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