160 likes | 475 Views
Apache Tiles. Tiles Introduction. Tiles is a framework for the development user interface Tiles is enables the developers to develop the web applications by assembling the reusable tiles (jsp, html, etc..)
E N D
Tiles Introduction • Tiles is a framework for the development user interface • Tiles is enables the developers to develop the web applications by assembling the reusable tiles (jsp, html, etc..) • Tiles uses the concept of reuse and enables the developers to define a template for the web site and then use this layout to populate the content of the web site
Tiles Introduction • For example, if you have to develop a web site having more that 500 page of static content and many dynamically generated pages. The layout of the web site often changes according to the business requirement. In this case you can use the Tiles framework to design the template for the web site and use this template to populate the contents. In future if there is any requirement of site layout change then you have to change the layout in one page. This will change the layout of you whole web site.
Tiles1 and Tiles2 • Tiles has been designed to use with the Struts Framework • Tiles can be used with or without Struts. • Tiles which has been design to use with out Struts is called as Tiles2
Steps To Create Tiles Application • Tiles is very useful framework for the development of web applications. Here are the steps necessary for adding Tiles to your Struts application • Add the Tiles Tag Library Descriptor (TLD) file to the web.xml. • Create layout JSPs. • Develop the web pages using layouts. • Repackage, run and test application.
Add the Tiles TLD to web.xml file • <taglib> <taglib-uri>/tags/struts-tiles</taglib-uri> <taglib-location>/WEB-INF/struts-t iles.tld</taglib-location></taglib>
Create layout JSPs. • Our web application layout is divided into four parts: To Banner, Left Navigation Bar, Content Area and Bottom of the page for copy right information. Here is the code for out template (template.jsp):
template.jsp • <%@ page language="java" %><%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %><html><head> <title><tiles:getAsString name="title" ignore="true"/></title></head><body><table border="1" cellpadding="0" cellspacing="0" width="100%" bordercolor="#000000" bgcolor="#E7FDFE"><tr><td width="100%" colspan="2" valign="top"><tiles:insert attribute="header"/></td></tr><tr><td width="23%"><tiles:insert attribute="menu"/></td><td width="77%" valign="top" valign="top"><tiles:insert attribute="body"/></td></tr><tr><td width="100%" colspan="2" valign="top"><tiles:insert attribute="bottom"/></td></tr></table></body></html>
example.jsp • <%@ page language="java" %><%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %><tiles:insert page="/tiles/template.jsp" flush="true"> <tiles:put name="title" type="string" value="Welcome" /> <tiles:put name="header" value="/tiles/top.jsp" /> <tiles:put name="menu" value="/tiles/left.jsp" /> <tiles:put name="body" value="/tiles/content.jsp" /> <tiles:put name="bottom" value="/tiles/bottom.jsp" /> </tiles:insert>
Repackage, run and test application • <li><html:link page="/tiles/example.jsp">Tiles Example</html:link><br>Example of creating first tile application.</li>
Steps to Use the tiles-defs.xml • Add the following code in the struts.xml, This enables the TilesPlugin to use the /WEB-INF/tiles-defs.xml file. • <plug-in className="org.apache.struts.tiles.TilesPlugin" > <!-- Path to XML definition file --> <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" /> <!-- Set Module-awareness to true --> <set-property property="moduleAware" value="true" /></plug-in>
Defining the tiles-defs.xml • <?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE tiles-definitions PUBLIC"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN""http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd"><tiles-definitions> <definition name="Tiles.Example" page="/tiles/template.jsp"> <put name="title" type="string" value="Welcome" /> <put name="header" value="/tiles/top.jsp" /> <put name="menu" value="/tiles/left.jsp" /> <put name="body" value="/tiles/content.jsp" /> <put name="bottom" value="/tiles/bottom.jsp" /> </definition> <definition name="${YOUR_DEFINITION_HERE}"> </definition> </tiles-definitions>
Configure the Struts Action to use Tiles Definition • Open the struts.xml file and add the following code: • <action path="/Tiles/Example" forward="Tiles.Example"/>
Testing the Application • <li><html:link page="/Tiles/Example.do">Using tiles-defs.xml</html:link><br>Example shows you how to use tiles-defs.xml file.</li>
For Your Reference • http://tiles.apache.org/tutorial/index.html • http://tiles.apache.org/ • http://www.laliluna.de/tutorial/first-tiles/first_struts_tiles_tutorial.pdf • http://www.roseindia.net/struts/struts_tiles.shtml