Basic template usage
Test with default no types |
This is the header |
This is a body
|
Specify attribute types
Test with specified types |
This is the header |
This is a body
|
Set attribute value with tag body
Test with a tag body |
This header is inserted as body of tag
|
This is a body
|
Use of definition
Use of definition |
This is the header |
This is a body
|
Use of definition, overload of parameters Title parameter
from previous definition is overloaded
Use of definition, overload of parameters |
This is the header |
This is a body
|
Test ignore : body isn't defined (We use another layout)
Test ignore : body isn't defined |
This is the header |
|
|
file '/test/testBasic.jsp'
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%-- Test tags basic behaviors
--%>
<hr>
<strong>Basic template usage</strong>
<br>
<tiles:insert template="layout.jsp">
<tiles:put name="title" value="Test with default no types" />
<tiles:put name="header" value="header.jsp" />
<tiles:put name="body" value="body.jsp" />
</tiles:insert>
<hr>
<strong>Specify attribute types</strong>
<br>
<tiles:insert template="layout.jsp">
<tiles:put name="title" value="Test with specified types" type="string" />
<tiles:put name="header" value="header.jsp" type="page" />
<tiles:put name="body" value="body.jsp" type="page" />
</tiles:insert>
<hr>
<strong>Set attribute value with tag body</strong>
<br>
<tiles:insert template="layout.jsp">
<tiles:put name="title" value="Test with a tag body" />
<tiles:put name="header" type="string">
<strong>This header is inserted as body of tag</strong>
</tiles:put>
<tiles:put name="body" value="body.jsp"/>
</tiles:insert>
<hr>
<strong>Use of definition</strong>
<br>
<tiles:definition id="templateDefinition" template="layout.jsp">
<tiles:put name="title" value="Use of definition" />
<tiles:put name="header" value="header.jsp" />
<tiles:put name="body" value="body.jsp" />
</tiles:definition>
<tiles:insert beanName="templateDefinition" />
<hr>
<strong>Use of definition, overload of parameters </strong>Title parameter
from previous definition is overloaded
<br>
<tiles:insert beanName="templateDefinition" >
<tiles:put name="title" value="Use of definition, overload of parameters" type="string" />
</tiles:insert>
<hr>
<strong>Test ignore : body isn't defined </strong>(We use another layout)
<br>
<tiles:insert template="layoutTestIgnore.jsp">
<tiles:put name="title" value="Test ignore : body isn't defined" />
<tiles:put name="header" value="header.jsp" />
</tiles:insert>
|
Example of list usage
|
file '/test/testList.jsp'
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<strong>Example of list usage</strong>
<%-- Insert a menu component.
Menu component require two lists : one of items, and one of links.
--%>
<tiles:insert component="menu.jsp" >
<tiles:put name="title" value="Test menu" />
<tiles:putList name="items">
<tiles:add value="home" />
<tiles:add>
<img src="<%=request.getContextPath()%>/images/struts-power.gif"
align="right" border="0"></tiles:add>
<tiles:add value="documentation"/>
</tiles:putList>
<tiles:putList name="links">
<tiles:add value="/index.jsp"/>
<tiles:add value="/../struts-documentation"/>
<tiles:add value="/../comps-doc" type="string" />
</tiles:putList>
</tiles:insert>
|
Insert definition defined directly in jsp page
Test definition defined in jsp page |
This is the header |
This is a body
|
Insert definition defined in factory
Test definition from factory : basic |
This is the header |
This is a body
|
Insert definition defined in factory
Test definition from factory : specify types |
This is the header |
This is a body
|
Insert definition defined in factory
Test definition from factory : Test with a tag body (to do) |
This is a header |
This is a body
|
Insert definition defined in factory : Overload title attribute
Test definition : overload attribute 'title' |
This is a header |
This is a body
|
|
file '/test/testDefinitions.jsp'
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%-- Test template definitions (from factory)
--%>
<hr>
<strong>Insert definition defined directly in jsp page</strong>
<tiles:definition id="definition" template="/test/layout.jsp" >
<tiles:put name="title" value="Test definition defined in jsp page" />
<tiles:put name="header" value="header.jsp" />
<tiles:put name="body" value="body.jsp" />
</tiles:definition>
<br>
<tiles:insert beanName="definition"/>
<hr>
<strong>Insert definition defined in factory</strong>
<br>
<tiles:insert definition="test.layout.test1"/>
<hr>
<strong>Insert definition defined in factory</strong>
<br>
<tiles:insert definition="test.layout.test2"/>
<hr>
<strong>Insert definition defined in factory</strong>
<br>
<tiles:insert definition="test.layout.test3"/>
<hr>
<strong>Insert definition defined in factory : Overload title attribute</strong>
<br>
<tiles:insert definition="test.layout.test3">
<tiles:put name="title" value="Test definition : overload attribute 'title'" />
</tiles:insert>
|