org.apache.beehive.netui.tags.databinding.pageinput
Class DeclarePageInput

Object
  extended by SimpleTagSupport
      extended by AbstractSimpleTag
          extended by DeclarePageInput
All Implemented Interfaces:
JspTag, SimpleTag, INetuiTag

public class DeclarePageInput
extends AbstractSimpleTag

The DeclarePageInput tag is used to declare variables that are passed as outputs of Page Flow actions to a JSP. This allows pages to declare a data contract that invoking actions must satisfy in order to successfully render a page; in essence, this is a simple method signature for the JSP.

Page inputs are added to a Page Flow's Forward class via the Forward.addActionOutput(String, Object) method. From the page's perspective, the action outputs are known as page inputs and are available via the JSP EL implicit object pageInput using the name given them on the Forward and set on this tag via setName(String).

A page input can be declared to be required; if required, the page input must be available in the map of action outputs passed to the page.

For example, to add an actiout output called profile to a Forward an action would contain code like:

     forward.addActionOutput("profile", yourProfile);
 
In order to declare this as a page input in a JSP, the page would contain a tag as:
     <netui-data:declarePageInput name="profile" type="org.someprofile.ProfileBean"/>
 
and the profile object could be referenced in the JSP as:
     ${pageInput.profile}
 


Constructor Summary
DeclarePageInput()
           
 
Method Summary
 void doTag()
           
 String getTagName()
          Get the name of this tag.
 void setName(String name)
          Set the name of a variable that can be referecned using the page input data binding context.
 void setRequired(boolean required)
          Set a flag that declares whether this page intput is required or optiona.
 void setType(String type)
          Set the String classname variable that represents the expected type of the page input.
 
Methods inherited from class AbstractSimpleTag
getBufferBody, getHtmlTag, getIdForTagId, getInlineError, getPageContext, getScriptReporter, getUserLocale, hasErrors, registerTagError, registerTagError, reportErrors, rewriteName, setNonEmptyValueAttribute, setRequiredValueAttribute, write
 
Methods inherited from class SimpleTagSupport
findAncestorWithClass, getJspBody, getJspContext, getParent, setJspBody, setJspContext, setParent
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DeclarePageInput

public DeclarePageInput()
Method Detail

getTagName

public String getTagName()
Get the name of this tag. This is used to identify the type of this tag for reporting tag errors.

Specified by:
getTagName in interface INetuiTag
Specified by:
getTagName in class AbstractSimpleTag
Returns:
a constant String representing the name of this tag.

setName

public void setName(String name)
Set the name of a variable that can be referecned using the page input data binding context.

Parameters:
name - the name of the variable

setRequired

public void setRequired(boolean required)
Set a flag that declares whether this page intput is required or optiona. If a Page Input is required, the tag will report an error if the page input key does not appear in the set of page inputs for a page.

Parameters:
required - whether to require the page input for the page

setType

public void setType(String type)
Set the String classname variable that represents the expected type of the page input.

Parameters:
type - the type of the variable that is referenced

doTag

public void doTag()
           throws JspException
Specified by:
doTag in interface SimpleTag
Overrides:
doTag in class SimpleTagSupport
Throws:
JspException