public class IteratorTag extends ContextBeanTag
IteratorComponent
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected String |
begin |
protected String |
end |
protected String |
statusAttr |
protected String |
step |
protected String |
value |
component
Constructor and Description |
---|
IteratorTag() |
Modifier and Type | Method and Description |
---|---|
protected void |
clearTagStateForTagPoolingServers()
Provide a mechanism to clear tag state, to handle servlet container JSP tag pooling
behaviour with some servers, such as Glassfish.
|
int |
doAfterBody() |
int |
doEndTag() |
Component |
getBean(ValueStack stack,
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res) |
protected void |
populateParams()
Define method to populate component state based on the Tag parameters.
|
void |
setBegin(String begin) |
void |
setEnd(String end) |
void |
setPerformClearTagStateForTagPoolingServers(boolean performClearTagStateForTagPoolingServers)
Request that the tag state be cleared during
StrutsBodyTagSupport.doEndTag() processing,
which may help with certain edge cases with tag logic running on servers that implement JSP Tag Pooling. |
void |
setStatus(String status) |
void |
setStep(String step) |
void |
setValue(String value) |
setVar
doStartTag, getComponent, populatePerformClearTagStateForTagPoolingServersParam
findString, findValue, findValue, getBody, getPerformClearTagStateForTagPoolingServers, getStack, release, toString
doInitBody, getBodyContent, getPreviousOut, setBodyContent
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
protected String statusAttr
protected String value
protected String begin
protected String end
protected String step
public Component getBean(ValueStack stack, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
getBean
in class ComponentTagSupport
protected void populateParams()
ComponentTagSupport
Descendants should override this method for custom behaviour, but should always call the ancestor method when doing so.
populateParams
in class ContextBeanTag
public void setStatus(String status)
public void setValue(String value)
public void setBegin(String begin)
public void setEnd(String end)
public void setStep(String step)
public int doEndTag() throws javax.servlet.jsp.JspException
doEndTag
in interface javax.servlet.jsp.tagext.Tag
doEndTag
in class ComponentTagSupport
javax.servlet.jsp.JspException
public int doAfterBody() throws javax.servlet.jsp.JspException
doAfterBody
in interface javax.servlet.jsp.tagext.IterationTag
doAfterBody
in class javax.servlet.jsp.tagext.BodyTagSupport
javax.servlet.jsp.JspException
public void setPerformClearTagStateForTagPoolingServers(boolean performClearTagStateForTagPoolingServers)
StrutsBodyTagSupport
StrutsBodyTagSupport.doEndTag()
processing,
which may help with certain edge cases with tag logic running on servers that implement JSP Tag Pooling.
Note: Even though the Tag classes extend this class StrutsBodyTagSupport
, and this method
StrutsBodyTagSupport.setPerformClearTagStateForTagPoolingServers(boolean)
exists in the method hierarchy,
the JSP processing requires us to explicitly override it in every Tag class in order for the Tag handler
method to be visible to the JSP processing.
Defining a setter in the superclass alone is insufficient (results in "Cannot find a setter method for the attribute").
See StrutsBodyTagSupport.clearTagStateForTagPoolingServers()
for additional details.
Warning: Setting this value to true may allow for the desired behaviour, but doing so
may violate the JSP specification. Set to true at your own risk.
setPerformClearTagStateForTagPoolingServers
in class ContextBeanTag
performClearTagStateForTagPoolingServers
- true if tag state should be cleared, false otherwise.protected void clearTagStateForTagPoolingServers()
StrutsBodyTagSupport
Usage: Override this method in descendant classes to clear any state that might cause issues should the
servlet container re-use a cached instance of the tag object. If the descendant class does not
declare any new field members then it should not be strictly necessary to call this method there.
Typically that means calling the ancestor's ComponentTagSupport.clearTagStateForTagPoolingServers()
method first, then resetting instance variables at the current level to their default state.
Note: If the descendant overrides StrutsBodyTagSupport.doEndTag()
, and does not call
super.doEndTag(), then the descendant should call this method in the descendant doEndTag() method
to ensure consistent clearing of tag state.
clearTagStateForTagPoolingServers
in class ContextBeanTag
Copyright © 2000–2024 Apache Software Foundation. All rights reserved.