HTMLMacro | Reference |
Sometimes, it's convenient to define a macro once and use it in multiple places. You can do this by writing a tag file. This is analogous to JSP and its tag file. A tag file is simply an XML jelly script written in a *.tag file. Suppose the following file is saved in floatingBox.tag.
<j:jelly xmlns:j="jelly:core" xmlns:d="jelly:define"> <div style="box"> <div>${title}</div> <div> <d:invokeBody /> </div> </div> </j:jelly>
This example can be used like this:
<html> <body> ... <floatingBox title="Hello"> <span>Hello, Duke!</span> </floatingBox>
... which produces the following output:
<html> <body> ... <div style="box"> <div>Hello</div> <div> <span>Hello, Duke!</span> </div> </div>
The attributes of the tag is available to the script as variables, and {jelly:define}invokeBody tag can be used to invoke the body of the tag. Tags can also access variables defined in its caller, just like JSP tag files.