Sun GlassFish Enterprise Server v3 Prelude Add-On Component Development Guide

Property Sheet Template

Use the property sheet template, propertySheetTemplate.tpl, to specify a property sheet.

Parent

baseTemplate.tpl

Parameters

The propertySheetTemplate.tpl file takes the following parameter in addition to those listed in Base Template:

hasRequiredFields

If this parameter is set to "true" (the String value, not a Boolean, due to conversion errors with the component), the following legend will appear at the top right of the page:


* Indicates required field
Defines

You can use define tags with the following name values, in addition to those listed in Base Template:

properties

Use this value to list each sun:property custom tag needed on the page.

propertySheets

Use this value if you need more than one property sheet. Provide a sun:propertySheetSection custom tag for each sheet you need, along with the sun:property custom tag for each section.


Example B–1 Example Page That Uses a Single Property Sheet

The following page uses the property sheet template to specify a property sheet.

<!composition template="/templates/propertySheetTemplate.tpl"
                i18nBundle="com.foo.resources.Messages"
                helpBundle="com.foo.resources.Help"
                pageTitle="Using the Base Templates"
                helpText="This file uses the property sheet template.">
    <!define name="properties">
        <sun:property id="propOne" labelAlign="left" noWrap="#{true}" 
                      overlapLabel="#{false}" label="Property One">
            <sun:dropDown id="propOneDD" selected="#{propOne}" 
                          labels={"foo" "bar" "baz"} values={"FOO" "BAR" "BAZ"} />
        </sun:property>
        <sun:property id="propTwo" labelAlign="left" noWrap="#{true}" 
                      overlapLabel="#{false}" label="Property Two">
            <sun:dropDown id="propTwoDD" selected="#{propTwo}" 
                          labels={"foo" "bar" "baz"} values={"FOO" "BAR" "BAZ"} />
        </sun:property>
    </define>
</composition>


Example B–2 Example Page That Uses Multiple Property Sheets

The following page uses the property sheet template to specify a set of property sheets.

<!composition template="/templates/propertySheetTemplate.tpl"
                i18nBundle="com.foo.resources.Messages"
                helpBundle="com.foo.resources.Help"
                pageTitle="Using the Base Templates"
                helpText="This page uses two property sheets.">
    <!define name="propertySheets">
        <sun:propertySheetSection>
            <sun:property id="propOne" labelAlign="left" noWrap="#{true}" 
                          overlapLabel="#{false}" label="Property One">
                <sun:dropDown id="propOneDD" selected="#{propOne}" 
                              labels={"foo" "bar" "baz"} values={"FOO" "BAR" "BAZ"} />
            </sun:property>
            <sun:property id="propTwo" labelAlign="left" noWrap="#{true}" 
                          overlapLabel="#{false}" label="Property Two">
                <sun:dropDown id="propTwoDD" selected="#{propTwo}" 
                              labels={"foo" "bar" "baz"} values={"FOO" "BAR" "BAZ"} />
            </sun:property>
        </sun:propertySheetSection>
        <sun:propertySheetSection>
            <sun:property id="propThree" labelAlign="left" noWrap="#{true}" 
                          overlapLabel="#{false}" label="Property Three">
                <sun:dropDown id="propThreeDD" selected="#{propThree}" 
                              labels={"foo" "bar" "baz"} values={"FOO" "BAR" "BAZ"} />
            </sun:property>
            <sun:property id="propFour" labelAlign="left" noWrap="#{true}" 
                          overlapLabel="#{false}" label="Property Four">
                <sun:dropDown id="propFourDD" selected="#{propFour}" 
                              labels={"foo" "bar" "baz"} values={"FOO" "BAR" "BAZ"} />
            </sun:property>
        </sun:propertySheetSection>
    </define>
</composition>