Tiles - Bci news Blog

Download Report

Transcript Tiles - Bci news Blog

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..)
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="/WEBINF/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}">
</tiles-definitions>
</definition>
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/firsttiles/first_struts_tiles_tutorial.pdf
http://www.roseindia.net/struts/struts_tiles.sht
ml
Thank You