This is the tag handler for <tiles:insert>, which includes
a template. The tag's body content consists of <tiles:put>
tags, which are accessed by <tiles:get> in the template.
ROLE_DELIMITER
public static final String ROLE_DELIMITER
This will be removed in a release after Struts 1.2.
The role delimiter.
attribute
protected String attribute
Name of attribute from which to read page name to include.
beanName
protected String beanName
Name of bean used as entity to include.
beanProperty
protected String beanProperty
Name of bean property, if any.
beanScope
protected String beanScope
Scope of bean, if any.
cachedCurrentContext
protected ComponentContext cachedCurrentContext
Current component context.
definitionName
protected String definitionName
Name of component instance to include.
flush
protected boolean flush
Flush attribute value.
isErrorIgnored
protected boolean isErrorIgnored
Are errors ignored. This is the property for attribute 'ignore'.
Default value is false, which throw an exception.
Only 'attribute not found' errors are ignored.
log
protected static Log log
Commons Logging instance.
name
protected String name
Name to insert.
pageContext
protected PageContext pageContext
Trick to allows inner classes to access pageContext.
processEndTag
protected boolean processEndTag
Does the end tag need to be processed.
Default value is true. Boolean set in case of ignored errors.
createTagHandler
public InsertTag.TagHandler createTagHandler()
throws JspException
Process tag attribute and create corresponding tag handler.
doEndTag
public int doEndTag()
throws JspException
Process the end tag by including the template.
Simply call the handler doEndTag
doInclude
protected void doInclude(String page)
throws ServletException,
IOException
Do an include of specified page.
This method is used internally to do all includes from this class. It delegates
the include call to the TilesUtil.doInclude().
page
- The page that will be included
doStartTag
public int doStartTag()
throws JspException
Process the start tag by checking tag's attributes and creating appropriate handler.
Possible handlers :
- URL
- definition
- direct String
Handlers also contain sub-component context.
getBeanName
public String getBeanName()
Get bean name.
getBeanProperty
public String getBeanProperty()
Get bean property.
getBeanScope
public String getBeanScope()
Get bean scope.
getController
private Controller getController()
throws JspException
Get instantiated Controller.
Return controller denoted by controllerType, or null
if controllerType
is null.
getCurrentContext
private ComponentContext getCurrentContext()
Get current component context.
getDefinitionName
public String getDefinitionName()
Get definition name.
getFlush
public boolean getFlush()
Get flush.
getIgnore
public boolean getIgnore()
Get ignore.
getName
public String getName()
Get name.
getPageContext
public PageContext getPageContext()
Get the pageContext property.
processAsDefinitionOrURL
public InsertTag.TagHandler processAsDefinitionOrURL(String name)
throws JspException
Try to process name as a definition, or as an URL if not found.
processAttribute
public InsertTag.TagHandler processAttribute(String name)
throws JspException
Process tag attribute "attribute".
Get value from component attribute.
Found value is process by processObjectValue().
name
- Name of the attribute.
processBean
protected InsertTag.TagHandler processBean(String beanName,
String beanProperty,
String beanScope)
throws JspException
Process a bean.
Get bean value, eventually using property and scope. Found value is process by processObjectValue().
beanName
- Name of the beanbeanProperty
- Property in the bean, or null.beanScope
- bean scope, or null.
processDefinition
protected InsertTag.TagHandler processDefinition(ComponentDefinition definition)
throws JspException
End of Process tag attribute "definition".
Overload definition with tag attributes "template" and "role".
Then, create appropriate tag handler.
definition
- Definition to process.
processDefinitionName
protected InsertTag.TagHandler processDefinitionName(String name)
throws JspException
Process tag attribute "definition".
First, search definition in the factory, then create handler from this definition.
name
- Name of the definition.
processName
public InsertTag.TagHandler processName(String name)
throws JspException
Process name.
Search in following order :
- Component context - if found, process it as value.
- definitions factory
- URL
processNestedTag
public void processNestedTag(PutListTag nestedTag)
throws JspException
Process nested ≶putList> tag.
Method calls by nested ≶putList> tags.
Nested list is added to sub-component attributes
If role is defined, it is checked immediately.
- processNestedTag in interface PutListTagParent
processNestedTag
public void processNestedTag(PutTag nestedTag)
throws JspException
Process nested ≶put> tag.
Method calls by nested ≶put> tags.
Nested list is added to current list.
If role is defined, it is checked immediately.
- processNestedTag in interface PutTagParent
processObjectValue
public InsertTag.TagHandler processObjectValue(Object value)
throws JspException
Process an object retrieved as a bean or attribute.
Object can be a typed attribute, a String, or anything else.
If typed attribute, use associated type.
Otherwise, apply toString() on object, and use returned string as a name.
processTypedAttribute
public InsertTag.TagHandler processTypedAttribute(AttributeDefinition value)
throws JspException
Process typed attribute according to its type.
value
- Typed attribute to process.
putAttribute
public void putAttribute(String name,
Object value)
Add a body attribute.
Erase any attribute with same name previously set.
putAttribute
public void putAttribute(PutListTag nestedTag)
throws JspException
Method calls by nested ≶putList> tags.
A new list is added to current insert object.
release
public void release()
Reset member values for reuse. This method calls super.release(),
which invokes TagSupport.release(), which typically does nothing.
- release in interface DefinitionTagSupport
releaseInternal
protected void releaseInternal()
Reset internal member values for reuse.
setAttribute
public void setAttribute(String value)
Set attribute.
setBeanName
public void setBeanName(String value)
Set bean name.
setBeanProperty
public void setBeanProperty(String value)
Set bean property.
setBeanScope
public void setBeanScope(String value)
Set bean scope.
setComponent
public void setComponent(String name)
Set component.
setDefinition
public void setDefinition(String name)
Set definition.
setFlush
public void setFlush(String flush)
Set flush.
Method added for compatibility with JSP1.1
setFlush
public void setFlush(boolean flush)
Set flush.
setIgnore
public void setIgnore(boolean ignore)
Set ignore.
setName
public void setName(String value)
Set name.
setPageContext
public void setPageContext(PageContext pc)
Set the current page context.
Called by the page implementation prior to doStartTag().
Needed to allow inner classes to access pageContext.
userHasRole
public static boolean userHasRole(HttpServletRequest request,
String role)
Parse the list of roles and return true
or false
based on whether
the user has that role or not.
request
- The request.role
- Comma-delimited list of roles.