Статьи

SpringMVC 3 Tiles 2.2.2 Руководство по интеграции

Apache Tiles — это популярная и наиболее часто используемая структура шаблонов для веб-приложений на основе Java. Плитки стали более популярными, потому что Struts 1.x использует Tiles в качестве шаблонной структуры по умолчанию. SpringMVC, который является MVC-фреймворком, как Struts , также поддерживает интеграцию Tiles в качестве своей шаблонной структуры.

Давайте посмотрим, как мы можем интегрировать SpringMVC и Tiles .

Вы можете скачать бинарные файлы Tiles отсюда

Шаг № 1: Добавьте следующие фишки листов в папку WEB-INF / lib.

  • плитка-апи-2.2.2.jar
  • плитка-ядро-2.2.2.jar
  • плитка-2.2.2.jar-JSP
  • плитка-сервлет-2.2.2.jar
  • плитка-шаблон-2.2.2.jar

Шаг № 2. Настройка интеграции листов в WEB-INF / dispatcher-servlet.xml

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<beans>
  
 <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
   <property name="definitions">
     <list>
       <value>/WEB-INF/tiles.xml</value>
     </list>
   </property>
 </bean>
  
 <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
   <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/>
 </bean>
  
</beans>

Шаг № 3: Сконфигурируйте определения плиток в WEB-INF / tile.xml

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!--?xml version="1.0" encoding="UTF-8"?-->
  
   
<tiles-definitions>
  
 <definition name="baseLayout" template="/jsp/layout/layout.jsp">
  <put-attribute name="title" value="SivaLabs" />
  <put-attribute name="header" value="/jsp/layout/header.jsp" />
  <put-attribute name="navigation" value="/jsp/layout/navigation.jsp" />
  <put-attribute name="body" value="" />
  <put-attribute name="footer" value="/jsp/layout/footer.jsp" />
 </definition>
   
 <definition name="login" extends="baseLayout">
  <put-attribute name="title" value="SivaLabs : Login" />
  <put-attribute name="navigation" value="" />
  <put-attribute name="body" value="/jsp/login.jsp" />
 </definition>
    
 <definition name="welcome" extends="baseLayout">
  <put-attribute name="title" value="SivaLabs : Welcome" />
  <put-attribute name="body" value="/jsp/welcome.jsp" />
 </definition>
    
</tiles-definitions>

Шаг № 4: закодируйте макеты JSP

layout.jsp

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<html>
<head>
<title><tiles:insertAttribute name="title" ignore="true" /></title>
<script type="text/javascript" src="js/sivalabs.js"></script>
</head>
<body>
  
<table border="1" style="border-collapse: collapse;" cellpadding="2" cellspacing="2" align="center" width="800">    <tbody><tr>
        <td height="30" colspan="2"><tiles:insertAttribute name="header" /></td>
    </tr>
    <tr>
        <td width="150" height="450" valign="top">
  
         <tiles:insertAttribute name="navigation" />
  
        </td>
        <td valign="top" width="650">
  
         <tiles:insertAttribute name="body" />
  
        </td>
    </tr>
    <tr>
        <td height="30" colspan="2">
  
         <tiles:insertAttribute name="footer" />
  
        </td>
    </tr>
</tbody></table></body>
</html>

header.jsp

1
<h2>SivaLabs : My Experiments On Technology</h2>

footer.jsp

1
2
3
<center>
 <b>© 2011 SivaLabs All Rights Reserved</b>
</center>

navigation.jsp

1
<p><a href="createUser.do">Create User</a></p><p><a href="listUsers.do">View Users</a></p><p><a href="logout.do">Logout</a></p>

welcome.jsp

1
<h2>Welcome to SpringMVC+Tiles Sample Application </h2>

Шаг № 5:

WelcomeController.java

01
02
03
04
05
06
07
08
09
10
11
12
13
14
package com.sivalabs.web.controllers;
  
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
  
@Controller
public class WelcomeController
{
 @RequestMapping("welcome")
 public String welcome()
 {
  return "welcome";
 }
}

Здесь строка «welcome» будет преобразована в имя плитки и отображает пользовательский интерфейс в соответствии с конфигурацией «welcome» плитки.