- 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 thevar
attribute.You can use it the same way as
<h:outputFormat>
, you only need to changeh:
intoo:
to get the extra support forvar
attribute. 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
var
attribute 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 String
COMPONENT_TYPE
The 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 void
encodeBegin(FacesContext context)
If thevar
attribute is set, start capturing the output.void
encodeEnd(FacesContext context)
If thevar
attribute is set, stop capturing the output and expose it in request scope by thevar
attribute value as variable name.String
getVar()
Returns the variable name which exposes the captured output into the request scope.void
setValueExpression(String name, ValueExpression binding)
An override which checks if this isn't been invoked onvar
attribute.void
setVar(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 onvar
attribute. Finally it delegates to the super method.- Overrides:
setValueExpression
in classUIComponent
- Throws:
IllegalArgumentException
- When this value expression is been set onvar
attribute.
-
encodeBegin
public void encodeBegin(FacesContext context) throws IOException
If thevar
attribute is set, start capturing the output.- Overrides:
encodeBegin
in classUIComponentBase
- Throws:
IOException
-
encodeEnd
public void encodeEnd(FacesContext context) throws IOException
If thevar
attribute is set, stop capturing the output and expose it in request scope by thevar
attribute value as variable name.- Overrides:
encodeEnd
in 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.
-
-