net.sourceforge.stripes.tag.layout
Class LayoutRenderTag

java.lang.Object
  extended by net.sourceforge.stripes.tag.StripesTagSupport
      extended by net.sourceforge.stripes.tag.layout.LayoutRenderTag
All Implemented Interfaces:
BodyTag, DynamicAttributes, IterationTag, JspTag, Tag

public class LayoutRenderTag
extends StripesTagSupport
implements BodyTag, DynamicAttributes

Renders a named layout, optionally overriding one or more components in the layout. Any attributes provided to the class other than 'name' will be placed into page context during the evaluation of the layout, making them available to other tags, and in EL.

Since:
Stripes 1.1
Author:
Tim Fennell

Field Summary
 
Fields inherited from class net.sourceforge.stripes.tag.StripesTagSupport
pageContext, parentTag
 
Fields inherited from interface javax.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
 
Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
 
Fields inherited from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
Constructor Summary
LayoutRenderTag()
           
 
Method Summary
 void addComponent(String name, String contents)
          Allows nested tags to register their contents for rendering in the layout.
 int doAfterBody()
          Does nothing.
 int doEndTag()
          Invokes the named layout, providing it with the overridden components and provided parameters.
 void doInitBody()
          Does nothing.
 int doStartTag()
          Pushes the values of any dynamic attributes into page context attributes for the duration of the tag.
 String getName()
          Gets the name of the layout to be used.
 void setBodyContent(BodyContent bodyContent)
          Discards the body content since it is not used.
 void setDynamicAttribute(String uri, String localName, Object value)
          Used by the JSP container to provide the tag with dynamic attributes.
 void setName(String name)
          Sets the name of the layout to be used.
 
Methods inherited from class net.sourceforge.stripes.tag.StripesTagSupport
getActionBeanType, getActionBeanUrl, getPageContext, getParent, getParentTag, getTagStack, popPageContextAttributes, pushPageContextAttributes, release, setPageContext, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.jsp.tagext.Tag
getParent, release, setPageContext, setParent
 

Constructor Detail

LayoutRenderTag

public LayoutRenderTag()
Method Detail

getName

public String getName()
Gets the name of the layout to be used.


setName

public void setName(String name)
Sets the name of the layout to be used.


setDynamicAttribute

public void setDynamicAttribute(String uri,
                                String localName,
                                Object value)
                         throws JspException
Used by the JSP container to provide the tag with dynamic attributes.

Specified by:
setDynamicAttribute in interface DynamicAttributes
Throws:
JspException

addComponent

public void addComponent(String name,
                         String contents)
Allows nested tags to register their contents for rendering in the layout.

Parameters:
name - the name of the component to be overridden in the layout
contents - the output that will be used

doStartTag

public int doStartTag()
               throws JspException
Pushes the values of any dynamic attributes into page context attributes for the duration of the tag.

Specified by:
doStartTag in interface Tag
Specified by:
doStartTag in class StripesTagSupport
Returns:
EVAL_BODY_BUFFERED in all cases
Throws:
JspException

setBodyContent

public void setBodyContent(BodyContent bodyContent)
Discards the body content since it is not used. Input from nested LayoutComponent tags is captured through a different mechanism.

Specified by:
setBodyContent in interface BodyTag

doInitBody

public void doInitBody()
                throws JspException
Does nothing.

Specified by:
doInitBody in interface BodyTag
Throws:
JspException

doAfterBody

public int doAfterBody()
                throws JspException
Does nothing.

Specified by:
doAfterBody in interface IterationTag
Returns:
SKIP_BODY in all cases.
Throws:
JspException

doEndTag

public int doEndTag()
             throws JspException
Invokes the named layout, providing it with the overridden components and provided parameters.

Specified by:
doEndTag in interface Tag
Specified by:
doEndTag in class StripesTagSupport
Returns:
EVAL_PAGE in all cases.
Throws:
JspException - if any exceptions are encountered processing the request


? Copyright 2005-2006, Stripes Development Team.