📄 htmlformatrenderer.java
字号:
/* * Copyright 2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.myfaces.renderkit.html;import org.apache.myfaces.renderkit.JSFAttr;import org.apache.myfaces.renderkit.RendererUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import javax.faces.component.UIComponent;import javax.faces.component.UIOutput;import javax.faces.component.UIParameter;import javax.faces.component.html.HtmlOutputFormat;import javax.faces.context.FacesContext;import java.io.IOException;import java.text.MessageFormat;import java.util.ArrayList;import java.util.Iterator;import java.util.List;/** * @author Manfred Geiler (latest modification by $Author: matze $) * @author Thomas Spiegl * @version $Revision: 1.7 $ $Date: 2004/10/13 11:51:00 $ */public class HtmlFormatRenderer extends HtmlRenderer{ private static final Log log = LogFactory.getLog(HtmlFormatRenderer.class); private static final Object[] EMPTY_ARGS = new Object[0]; public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException { } public void encodeChildren(FacesContext facescontext, UIComponent uicomponent) throws IOException { } public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException { RendererUtils.checkParamValidity(facesContext, component, UIOutput.class); String text = getOutputFormatText(facesContext, component); boolean isEscape; if (component instanceof HtmlOutputFormat) { isEscape = ((HtmlOutputFormat)component).isEscape(); } else { isEscape = RendererUtils.getBooleanAttribute(component, JSFAttr.ESCAPE_ATTR, true); } HtmlTextRendererBase.renderOutputText(facesContext, component, text, isEscape); } private String getOutputFormatText(FacesContext facesContext, UIComponent htmlOutputFormat) { String pattern = RendererUtils.getStringValue(facesContext, htmlOutputFormat); Object[] args; if (htmlOutputFormat.getChildCount() == 0) { args = EMPTY_ARGS; } else { List argsList = new ArrayList(); for (Iterator it = htmlOutputFormat.getChildren().iterator(); it.hasNext(); ) { UIComponent child = (UIComponent)it.next(); if (child instanceof UIParameter) { argsList.add(((UIParameter)child).getValue()); } } args = argsList.toArray(new Object[argsList.size()]); } MessageFormat format = new MessageFormat(pattern, facesContext.getViewRoot().getLocale()); try { return format.format(args); } catch (Exception e) { log.error("Error formatting message of component " + htmlOutputFormat.getClientId(facesContext)); return ""; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -