public class SubviewTag extends UIComponentELTag
bodyContent, pageContext, UNIQUE_ID_PREFIX
log
Constructor and Description |
---|
SubviewTag() |
Modifier and Type | Method and Description |
---|---|
protected UIComponent |
createVerbatimComponentFromBodyContent()
Create a transient UIOutput component from the body content,
of this tag instance or return null if there is no body content,
the body content is whitespace, or the body content is a
comment.
|
int |
doEndTag()
Perform any processing necessary to handle the content
implications of CASE 3 in the class description.
|
int |
doStartTag()
Perform any processing necessary to find (or create) the
UIComponent instance in the view corresponding to this
tag instance in the page and, if and only if a component was
created, insert it into the tree at the proper location as
expected by the page author. |
String |
getComponentType()
Return the component type for the component that is or will be
bound to this tag.
|
String |
getRendererType()
Return the
rendererType property that selects the
Renderer to be used for encoding this component, or
null to ask the component to render itself directly. |
createComponent, getELContext, hasBinding, release, setBinding, setProperties, setRendered
addChild, addFacet, addVerbatimAfterComponent, addVerbatimBeforeComponent, createVerbatimComponent, doAfterBody, doInitBody, encodeBegin, encodeChildren, encodeEnd, findComponent, getBodyContent, getComponentInstance, getCreated, getCreatedComponents, getDoAfterBodyValue, getDoEndValue, getDoStartValue, getFacesContext, getFacesJspId, getFacetName, getId, getIndexOfNextChildTag, getJspId, getParent, getParentUIComponentClassicTagBase, getPreviousOut, setBodyContent, setId, setJspId, setPageContext, setParent, setupResponseWriter
public String getComponentType()
UIComponentTagBase
Return the component type for the component that is or will be
bound to this tag. This value can be passed to
Application.createComponent(java.lang.String)
to create
the UIComponent
instance for this tag. Subclasses must
override this method to return the appropriate value.
getComponentType
in class UIComponentTagBase
public String getRendererType()
UIComponentTagBase
Return the rendererType
property that selects the
Renderer
to be used for encoding this component, or
null
to ask the component to render itself directly.
Subclasses must override this method to return the appropriate value.
getRendererType
in class UIComponentTagBase
protected UIComponent createVerbatimComponentFromBodyContent()
UIComponentClassicTagBase
Create a transient UIOutput component from the body content, of this tag instance or return null if there is no body content, the body content is whitespace, or the body content is a comment.
createVerbatimComponentFromBodyContent
in class UIComponentClassicTagBase
public int doEndTag() throws javax.servlet.jsp.JspException
UIComponentClassicTagBase
Perform any processing necessary to handle the content implications of CASE 3 in the class description.
The default implementation, which is intended to be sufficient
for most components, calls UIComponentClassicTagBase.createVerbatimComponentFromBodyContent()
on this instance
and adds it as a child of the component for this tag's component
at the end of the child list. In addition, the following
housekeeping steps are taken.
UIComponent
the set of component
ids of child components created by UIComponentTag
instances the last time this page was processed (if any).
Compare it to the list of children created during this page
processing pass, and remove all children present in the old list
but not the new. Save the new list as a component attribute so
that it gets saved as part of the component's state.UIComponent
the set of facet names
of facets created by UIComponentTag
instances the last
time this page was processed (if any). Compare it to the list of
facets created during this page processing pass, and remove all
facets present in the old list but not the new. Save the new
list as a component attribute so that it gets saved as part of
the component's state.The flag value to be returned is acquired by calling the
getDoEndValue()
method, which tag subclasses may
override if they do not want the default value.
doEndTag
in interface javax.servlet.jsp.tagext.Tag
doEndTag
in class UIComponentClassicTagBase
javax.servlet.jsp.JspException
- if an error occurspublic int doStartTag() throws javax.servlet.jsp.JspException
UIComponentClassicTagBase
Perform any processing necessary to find (or create) the
UIComponent
instance in the view corresponding to this
tag instance in the page and, if and only if a component was
created, insert it into the tree at the proper location as
expected by the page author. Secondarily, cause a transient
UIOutput
component to be created and placed in the tree
before the UIComponent
instance for
this tag. The value of this UIOutput
component must include anything covered by CASE 1
or
CASE 2
in the class description.
The default implementation, which is intended to be sufficient
for most components, implements this secondary requirement by
calling UIComponentClassicTagBase.getParentUIComponentClassicTagBase(javax.servlet.jsp.PageContext)
, and calling
UIComponentClassicTagBase.createVerbatimComponentFromBodyContent()
on the result.
It then adds the returned component to the tree before the
actual component for this tag instance instance by calling
UIComponentClassicTagBase.addVerbatimBeforeComponent(javax.faces.webapp.UIComponentClassicTagBase, javax.faces.component.UIComponent, javax.faces.component.UIComponent)
.
Before returning, the component is pushed onto the component
stack for this response to enable the UIComponentClassicTagBase.getParentUIComponentClassicTagBase(javax.servlet.jsp.PageContext)
method to work properly.
The flag value to be returned is acquired by calling the
getDoStartValue()
method, which tag subclasses may
override if they do not want the default value.
doStartTag
in interface javax.servlet.jsp.tagext.Tag
doStartTag
in class UIComponentClassicTagBase
javax.servlet.jsp.JspException
- if an error occursComments to: faces-dev@eclipse.org.
Copyright © 2019 Eclipse Foundation. All rights reserved.
Use is subject to license terms.