Class If


  • public class If
    extends AbstractConditional
    Conditionally renders its body. May render its tag and any informal parameters.
    Component Parameters 
    NameTypeFlagsDefaultDefault Prefix
    elseorg.apache.tapestry5.Block  literal
    An alternate org.apache.tapestry5.Block to render if #test() is false. The default, null, means render nothing in that situation.
    negateboolean  prop
    Optional parameter to invert the test. If true, then the body is rendered when the test parameter is false (not true).
    testbooleanRequired prop
    If true, then the body of the If component is rendered. If false, the body is omitted.
    thenorg.apache.tapestry5.Block  literal
    The org.apache.tapestry5.Block to render if #test() is true. The default, null, means render the component body in that situation..

    Examples

    Start.tml

    <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
        <body>
            <h1>Welcome!</h1>
    
            <t:if test="user">
                Welcome back, ${user.firstName}
                <p:else>
                    <t:pagelink page="login">Login</t:pagelink> /
                    <t:pagelink page="register">Register</t:pagelink>
                </p:else>
            </t:if>
            
            . . .
    
    </html>

    Here, the main text is rendered if the user is logged in (the user property will be non-null after the user logs in). Otherwise, links to a login and register page are rendered.

    Notes

    Tapestry has many built in coercions to boolean:

    String
    True if non-blank and not the literal string "false" (case insensitive)
    Number
    True if non-zero
    Collection
    True if non-empty
    Object
    True (as long as it's not null)
    • Constructor Detail

      • If

        public If()
    • Method Detail

      • test

        protected boolean test()
        Description copied from class: AbstractConditional
        Performs the test via the parameters; return true to render the body of the component, false to render the else block (or nothing).
        Specified by:
        test in class AbstractConditional
        Returns:
        test parameter (if negate is false), or test parameter inverted (if negate is true)