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 to the page from the page flow. A page input variable has a lifetime of the page in which it is declared and can be referenced using the pageInput data binding context. The name attribute here is used as the identifier for the variable inside of this binding context, and the type attribute is used to identify the expected type of this variable.

Example
This sample shows how a variable, foo, is defined in the Controller file, and its value is passed to a JSP page by using the addPageInput method and the <netui-data:declarePageInput> tag.

Code in the Controller file...

    /**
    * @jpf:action
    * @jpf:forward name="simple" path="simple.jsp"
    */
    public Forward simple()
    {
        Forward f = new Forward("simple");
        f.addPageInput("fooBean", new FooBean());
        return f;
    }
 

public static class FooBean { private String foo = "A Foo String";

public String getFoo() { return foo; }

public void setFoo(String foo) { this.foo = foo; } }

Code in a JSP page...

    <netui-data:declarePageInput name="fooBean" type="pageInput.PageInputController.FooBean"/>
    ...
    fooBean.foo: <netui:label value="{pageInput.fooBean.foo}" />

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 the required attribute.
 void setType(String type)
          Set the type of the variable that referenced with the setName(java.lang.String) attribute on this tag.
 
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 the required attribute. 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 type of the variable that referenced with the setName(java.lang.String) attribute on this tag.

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