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 Summary

    Constructors
    Constructor
    Description
    If()
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    Performs the test via the parameters; return true to render the body of the component, false to render the else block (or nothing).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • If

      public If()
  • Method Details

    • 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)