- java.lang.Object
-
- jakarta.faces.component.UIComponent
-
- jakarta.faces.component.UIComponentBase
-
- jakarta.faces.component.UIOutput
-
- jakarta.faces.component.html.HtmlOutputFormat
-
- org.omnifaces.component.output.OutputFormat
-
- All Implemented Interfaces:
PartialStateHolder,StateHolder,TransientStateHolder,ValueHolder,ComponentSystemEventListener,FacesListener,SystemEventListenerHolder,EventListener
public class OutputFormat extends HtmlOutputFormat
The
<o:outputFormat>is a component that extends the standard<h:outputFormat>with support for capturing the output and exposing it into the request scope by the variable name as specified by thevarattribute.You can use it the same way as
<h:outputFormat>, you only need to changeh:intoo:to get the extra support forvarattribute. Here's are some usage examples:<o:outputFormat value="#{i18n['link.title']}" var="_link_title"> <f:param value="#{bean.foo}" /> <f:param value="#{bean.bar}" /> </o:outputFormat> <h:commandLink value="#{i18n['link.value']}" title="#{_link_title}" /><o:outputFormat value="#{bean.number}" var="_percentage"> <f:convertNumber type="percent" /> </o:outputFormat> <div title="Percentage: #{_percentage}" />Make sure that the
varattribute value doesn't conflict with any of existing variable names in the current EL scope, such as managed bean names. It would be a good naming convention to start their names with_.- Since:
- 1.2
- Author:
- Bauke Scholtz
-
-
Field Summary
Fields Modifier and Type Field Description static StringCOMPONENT_TYPEThe component type, which is "org.omnifaces.component.output.OutputFormat".-
Fields inherited from class jakarta.faces.component.UIOutput
COMPONENT_FAMILY
-
Fields inherited from class jakarta.faces.component.UIComponent
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY
-
-
Constructor Summary
Constructors Constructor Description OutputFormat()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidencodeBegin(FacesContext context)If thevarattribute is set, start capturing the output.voidencodeEnd(FacesContext context)If thevarattribute is set, stop capturing the output and expose it in request scope by thevarattribute value as variable name.StringgetVar()Returns the variable name which exposes the captured output into the request scope.voidsetValueExpression(String name, ValueExpression binding)An override which checks if this isn't been invoked onvarattribute.voidsetVar(String var)Sets the variable name which exposes the captured output into the request scope.-
Methods inherited from class jakarta.faces.component.html.HtmlOutputFormat
getDir, getLang, getRole, getStyle, getStyleClass, getTitle, isEscape, setDir, setEscape, setLang, setRole, setStyle, setStyleClass, setTitle
-
Methods inherited from class jakarta.faces.component.UIOutput
clearInitialState, getConverter, getFamily, getLocalValue, getValue, markInitialState, resetValue, restoreState, saveState, setConverter, setValue
-
Methods inherited from class jakarta.faces.component.UIComponentBase
addClientBehavior, addFacesListener, broadcast, decode, encodeChildren, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, processDecodes, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent
-
Methods inherited from class jakarta.faces.component.UIComponent
encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, visitTree
-
-
-
-
Field Detail
-
COMPONENT_TYPE
public static final String COMPONENT_TYPE
The component type, which is "org.omnifaces.component.output.OutputFormat".- See Also:
- Constant Field Values
-
-
Method Detail
-
setValueExpression
public void setValueExpression(String name, ValueExpression binding)
An override which checks if this isn't been invoked onvarattribute. Finally it delegates to the super method.- Overrides:
setValueExpressionin classUIComponent- Throws:
IllegalArgumentException- When this value expression is been set onvarattribute.
-
encodeBegin
public void encodeBegin(FacesContext context) throws IOException
If thevarattribute is set, start capturing the output.- Overrides:
encodeBeginin classUIComponentBase- Throws:
IOException
-
encodeEnd
public void encodeEnd(FacesContext context) throws IOException
If thevarattribute is set, stop capturing the output and expose it in request scope by thevarattribute value as variable name.- Overrides:
encodeEndin classUIComponentBase- Throws:
IOException
-
getVar
public String getVar()
Returns the variable name which exposes the captured output into the request scope.- Returns:
- The variable name which exposes the captured output into the request scope.
-
setVar
public void setVar(String var)
Sets the variable name which exposes the captured output into the request scope.- Parameters:
var- The variable name which exposes the captured output into the request scope.
-
-