com.arsdigita.bebop.jsp
Class DefinePage

java.lang.Object
  extended byjavax.servlet.jsp.tagext.TagSupport
      extended byjavax.servlet.jsp.tagext.BodyTagSupport
          extended bycom.arsdigita.bebop.jsp.DefineComponent
              extended bycom.arsdigita.bebop.jsp.DefineContainer
                  extended bycom.arsdigita.bebop.jsp.DefinePage
All Implemented Interfaces:
javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, com.arsdigita.bebop.jsp.JSPConstants, Serializable, javax.servlet.jsp.tagext.Tag

public class DefinePage
extends DefineContainer
implements com.arsdigita.bebop.jsp.JSPConstants

Defines a Bebop page with JSP tags. Component tags within the page will add components to the Page. At the end of the tag, we generate XML output from the Bebop page and render it with the designated PresentationManager.

If no presentation manager is supplied, then the output XML document from the page definition is just stored in the "com.arsdigita.xml.Document" request attribute.

You can also specify a base class for the Page object defined, using the "pageClass" attribute.

Example usage:

<define:page name="p" [title="title"] [pmClass="..."] [pageClass=...]>
   ... define components here ...
 </bebop:page>
 

Note on Bebop static/dynamic split: You should not assume that any code inside define:page will be executed more than once. The created Page object may be cached.

See Also:
Serialized Form

Field Summary
static String BEBOP_XMLNS
           
static String INPUT_DOC_ATTRIBUTE
           
static String INPUT_PAGE_STATE_ATTRIBUTE
           
static String SLAVE_DOC
           
static String SLAVE_INPUT_DOC
           
static String versionId
           
 
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 javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
Constructor Summary
DefinePage()
           
 
Method Summary
 int doEndTag()
          Locks the Page object, generates XML from the Page, gets a presentation manager instance, and renders the XML using the XSLT transformation in the PresentationManager.
 int doStartTag()
          Creates a Bebop Page instance.
protected  Component getComponent()
           
 void setApplication(String s)
           
 void setCache(String s)
           
 void setMaster(String s)
           
 void setPageClass(String s)
           
 void setTitle(String s)
           
 
Methods inherited from class com.arsdigita.bebop.jsp.DefineContainer
addComponent, doAfterBody
 
Methods inherited from class com.arsdigita.bebop.jsp.DefineComponent
getName, getParentTag, setName
 
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, setId, 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 Detail

versionId

public static final String versionId
See Also:
Constant Field Values

BEBOP_XMLNS

public static final String BEBOP_XMLNS
See Also:
Constant Field Values

SLAVE_DOC

public static final String SLAVE_DOC
See Also:
Constant Field Values

SLAVE_INPUT_DOC

public static final String SLAVE_INPUT_DOC
See Also:
Constant Field Values

INPUT_DOC_ATTRIBUTE

public static final String INPUT_DOC_ATTRIBUTE
See Also:
Constant Field Values

INPUT_PAGE_STATE_ATTRIBUTE

public static final String INPUT_PAGE_STATE_ATTRIBUTE
See Also:
Constant Field Values
Constructor Detail

DefinePage

public DefinePage()
Method Detail

doStartTag

public int doStartTag()
               throws javax.servlet.jsp.JspException
Creates a Bebop Page instance. A page tag is a special case because we don't expect it to have a parent tag.

Specified by:
doStartTag in interface javax.servlet.jsp.tagext.Tag
Overrides:
doStartTag in class DefineComponent
Throws:
javax.servlet.jsp.JspException

doEndTag

public int doEndTag()
             throws javax.servlet.jsp.JspException
Locks the Page object, generates XML from the Page, gets a presentation manager instance, and renders the XML using the XSLT transformation in the PresentationManager.

Nested pages are special cases; if this define:page is nested in another define:page tag, then we won't generate output from this Page directly but we'll make a reference from the parent Page into this page. Master/slave works similarly; we pass the current page object to the master JSP file, which will include the current page as the slave page to include at the point where <define:slave/> appears.

Specified by:
doEndTag in interface javax.servlet.jsp.tagext.Tag
Throws:
javax.servlet.jsp.JspException

getComponent

protected final Component getComponent()
Specified by:
getComponent in class DefineComponent

setTitle

public final void setTitle(String s)

setApplication

public final void setApplication(String s)

setPageClass

public void setPageClass(String s)
                  throws javax.servlet.jsp.JspException
Throws:
javax.servlet.jsp.JspException

setMaster

public final void setMaster(String s)

setCache

public void setCache(String s)


Copyright (c) 2004 Red Hat, Inc. Corporation. All Rights Reserved. Generated at July 20 2004:2337 UTC