public class OutputFormat extends HtmlOutputFormat
HtmlOutputFormat and provides support
for capturing the output and exposing it into the request scope by the variable name as specified by the
var attribute.
You can use it the same way as <h:outputFormat>, you only need to change h: into
o: to get the extra support for var 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
_.
| Modifier and Type | Field and Description |
|---|---|
static String |
COMPONENT_TYPE
The standard component type.
|
COMPONENT_FAMILYBEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, VIEW_LOCATION_KEY| Constructor and Description |
|---|
OutputFormat() |
| Modifier and Type | Method and Description |
|---|---|
void |
encodeBegin(FacesContext context)
If the
var attribute is set, start capturing the output. |
void |
encodeEnd(FacesContext context)
If the
var attribute is set, stop capturing the output and expose it in request scope by the
var 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 on
var attribute. |
void |
setVar(String var)
Sets the variable name which exposes the captured output into the request scope.
|
getDir, getLang, getStyle, getStyleClass, getTitle, isEscape, setDir, setEscape, setLang, setStyle, setStyleClass, setTitleclearInitialState, getConverter, getFamily, getLocalValue, getValue, markInitialState, restoreState, saveState, setConverter, setValueaddClientBehavior, addFacesListener, broadcast, decode, encodeChildren, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getParent, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, processDecodes, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, setValueBindingencodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getListenersForEventClass, getNamingContainer, getResourceBundleMap, getStateHelper, getStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, setInView, subscribeToEvent, unsubscribeFromEvent, visitTreepublic static final String COMPONENT_TYPE
public void setValueExpression(String name, ValueExpression binding)
var attribute.
Finally it delegates to the super method.setValueExpression in class UIComponentIllegalArgumentException - When this value expression is been set on var attribute.public void encodeBegin(FacesContext context) throws IOException
var attribute is set, start capturing the output.encodeBegin in class UIComponentBaseIOExceptionpublic void encodeEnd(FacesContext context) throws IOException
var attribute is set, stop capturing the output and expose it in request scope by the
var attribute value as variable name.encodeEnd in class UIComponentBaseIOExceptionpublic String getVar()
public void setVar(String var)
var - The variable name which exposes the captured output into the request scope.