In this simple post, I will give you a brief intro and basics of using Tiles as a Template engine for your Web Application!
- Get it Ready: Web Application Setup
- Setup Maven and Import the Spring-MVC libraires plus the Apache Tiles
- Configuration File
- Use it!
1st: Web Layout and Application Setup: Get your Web Application Framework ready. For this example, I used Spring 3 MVC with all the minimal components readily injected. Download it here. The project is eclipse ready, so you can just import and load it on your STS (Spring Tool Suite) workspace.
2nd: Setup Maven and generate sources - STS already has a Maven Plugin support. Put a Maven nature first on the project by right clicking on > project > configure > Convert to Maven project.
3rd: POM Configuration – Load the Tiles on the pom.xml. – You need to include the following dependencies to add Apache Tiles libraries to the project.
<!-- For Tiles --> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-core</artifactId> <version>2.2.2</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-template</artifactId> <version>2.2.2</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-jsp</artifactId> <version>2.2.2</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-servlet</artifactId> <version>2.2.2</version> <type>jar</type> <scope>compile</scope> </dependency>
4th: XML Configuration for Class loaded beans - Make sure to setup the tiles xml and call it either directly or from another xml bean configuration file.
5th: Templates – Create the templates.
tiles-definition: – Define the page using the template (mainTemplate.jsp)
mainTemplate.jsp – is the page layout – put the definition attributes.
The registerUser is the page that will be called, the body-position attribute is replaced by a body we defined: jsp/userregistration.jsp
6th: Configure database. Go to data-access-config.xml in your META-INF folder.
delimiter $$ CREATE DATABASE `MDCDB` /*!40100 DEFAULT CHARACTER SET latin1 */$$ delimiter $$ CREATE TABLE `MDC_USERS` ( `ID` int(11) unsigned zerofill NOT NULL AUTO_INCREMENT, `NAME` varchar(45) DEFAULT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1$$
Run the Application!
With the quality and quantity of application development tools, using templates is not new. Creation of these are now strictly mandatory as it will really help the development team to create quality UI faster and better. It also allows developers and designers to work in parallel. Designers using a themeing API, let say JQuery and developers creating the backbone and logic of the application – using EJBs, makes the definition of “ease of development” more apparent.
Download my sample and open it in your STS (Spring Tool Suite) here. Make sure you have the Hibernate and Maven Plugin installed.
Java Platform, Enterprise Edition is a widely used platform for enterprise server programming in the Java programming language.
This book covers exciting recipes on securing, tuning and extending enterprise applications using a Java EE 6 implementation.The book starts with the essential changes in Java EE 6. Then they will dive into the implementation of some of the new features of the JPA 2.0 specification, and look at implementing auditing for relational data stores.They will then look into how they can enable security for their software system using Java EE built-in features as well as using the well-known Spring Security framework. They will then look at recipes on testing various Java EE technologies including JPA, EJB, JSF, and Web services.Next they will explore various ways to extend a Java EE environment with the use of additional dynamic languages as well as frameworks.At the end of the book, they will cover managing enterprise application deployment and configuration, and recipes that will help you debug problems and enhance the performance of your applications.