Class ApplyDecoratorTag

java.lang.Object
javax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
com.opensymphony.module.sitemesh.taglib.page.ApplyDecoratorTag
All Implemented Interfaces:
RequestConstants, Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag

public class ApplyDecoratorTag extends javax.servlet.jsp.tagext.BodyTagSupport implements RequestConstants
This tag inserts an external resource as a panel into the current Page.

The page attribute should point to the panel resource which should expose an entire page (e.g. another JSP file producing HTML). This attribute can be relative to the page it is being called from or an absolute path from the context-root.

OR

If the page attribute is not specified, the body content is parsed into the Page object and has the Decorator applied.

The (optional) decorator attribute is the name of the Decorator to apply to the included page. Note that the implementation of DecoratorMapper can overide this.

Version:
$Revision: 1.10 $
Author:
Joe Walnes
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    (package private) class 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private Config
     
    private String
     
    private String
     
     
    private String
     
    private Factory
     
    private String
     
    private Map
     

    Fields inherited from class javax.servlet.jsp.tagext.BodyTagSupport

    bodyContent

    Fields inherited from class javax.servlet.jsp.tagext.TagSupport

    id, pageContext

    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 com.opensymphony.module.sitemesh.RequestConstants

    DECORATOR, PAGE, ROBOT

    Fields inherited from interface javax.servlet.jsp.tagext.Tag

    EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) void
    addParam(String name, String value)
    Add a parameter to the page.
    int
    Ensure that external page contents are included in bodycontent.
    int
    Standard taglib method: apply decorator to page.
    int
     
     
    void
    setContentType(String contentType)
     
    void
    setDecorator(String decorator)
    Deprecated.
    Use setName() instead.
    void
    setEncoding(String encoding)
     
    void
    Tag attribute: If set, this value will override the 'id' property of the page.
    void
    setName(String decorator)
    Tag attribute: Name of Decorator to apply to Page.
    void
    Tag attribute: URI of page to include.
    void
    Tag attribute: If set, this value will override the 'title' property of the page.

    Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport

    doInitBody, getBodyContent, getPreviousOut, release, setBodyContent

    Methods inherited from class javax.servlet.jsp.tagext.TagSupport

    findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setPageContext, setParent, setValue

    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, setPageContext, setParent
  • Field Details

    • page

      private String page
    • decorator

      private String decorator
    • contentType

      private String contentType
    • encoding

      private String encoding
    • params

      private Map params
    • config

      private Config config
    • decoratorMapper

      private DecoratorMapper decoratorMapper
    • factory

      private Factory factory
  • Constructor Details

    • ApplyDecoratorTag

      public ApplyDecoratorTag()
  • Method Details

    • setPage

      public void setPage(String page)
      Tag attribute: URI of page to include. Can be relative to page being called from, or absolute path from context-root of web-app.
    • addParam

      void addParam(String name, String value)
      Add a parameter to the page. This has a package level access modifier so ParamTag can also call it.
    • setTitle

      public void setTitle(String title)
      Tag attribute: If set, this value will override the 'title' property of the page. This is a convenience utility and is identical to specifing a 'page:param name=title' tag.
    • setId

      public void setId(String id)
      Tag attribute: If set, this value will override the 'id' property of the page. This is a convenience utility and is identical to specifing a 'page:param name=id' tag.
      Overrides:
      setId in class javax.servlet.jsp.tagext.TagSupport
    • setName

      public void setName(String decorator)
      Tag attribute: Name of Decorator to apply to Page. This is passed to DecoratorMapper to retrieve appropriate Decorator. DecoratorMapper may override if needed.
      See Also:
    • setDecorator

      public void setDecorator(String decorator)
      Deprecated.
      Use setName() instead.
    • setContentType

      public void setContentType(String contentType)
    • setEncoding

      public void setEncoding(String encoding)
    • doStartTag

      public int doStartTag()
      Specified by:
      doStartTag in interface javax.servlet.jsp.tagext.Tag
      Overrides:
      doStartTag in class javax.servlet.jsp.tagext.BodyTagSupport
    • doAfterBody

      public int doAfterBody() throws javax.servlet.jsp.JspException
      Ensure that external page contents are included in bodycontent.
      Specified by:
      doAfterBody in interface javax.servlet.jsp.tagext.IterationTag
      Overrides:
      doAfterBody in class javax.servlet.jsp.tagext.BodyTagSupport
      Throws:
      javax.servlet.jsp.JspException
    • doEndTag

      public int doEndTag() throws javax.servlet.jsp.JspException
      Standard taglib method: apply decorator to page.
      Specified by:
      doEndTag in interface javax.servlet.jsp.tagext.Tag
      Overrides:
      doEndTag in class javax.servlet.jsp.tagext.BodyTagSupport
      Throws:
      javax.servlet.jsp.JspException
    • getParserSelector

      private PageParserSelector getParserSelector()