1.假设Spring相关的包和配置已经导入成功(后续有时间补上,本项目用的是3.2.0版本)。
2.导入Tiles相关的jar包。
tiles-api-2.2.2.jar
tiles-core-2.2.2.jar
tiles-jsp-2.2.2.jar
tiles-servlet-2.2.2.jar
tiles-template-2.2.2.jar
3.在servlet.xml中增加Spring和Tiles的整合以及Tiles的配置。
<bean class="org.springframework.web.servlet.view.tiles2.TilesViewResolver" > <property name="order" value="0" /> </bean> <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> <property name="definitions"> <list> <value>/WEB-INF/pbx-views/tiles.xml</value> </list> </property> </bean>
4.定义网站的模版(style.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8"%> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <div> <table> <tr> <td colspan="2"> <tiles:insertAttribute name="logo"/> </td> </tr> <tr> <td colspan="2"> <tiles:insertAttribute name="menu"/> </td> </tr> <tr> <td> <tiles:insertAttribute name="body"/> </td> <td> <tiles:insertAttribute name="advers"/> </td> </tr> <tr> <td colspan="2"> <tiles:insertAttribute name="footer"/> </td> </tr> </table> </div> </body> </html>
5.关联页面模版和Tiles(tiles.xml)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> <tiles-definitions> <!-- layout for index of MYCOLLEGE --> <definition name="baseLayout" template="/WEB-INF/pbx-views/frame/style1.jsp"> <put-attribute name="logo" value="/WEB-INF/pbx-views/frame/logo.jsp"/> <put-attribute name="menu" value="/WEB-INF/pbx-views/frame/menu.jsp"/> <put-attribute name="body" value="/WEB-INF/pbx-views/frame/body.jsp"/> <put-attribute name="advers" value="/WEB-INF/pbx-views/frame/advers.jsp"/> <put-attribute name="footer" value="/WEB-INF/pbx-views/frame/footer.jsp"/> </definition> <definition name="*" extends="baseLayout"> <put-attribute name="body" value="/WEB-INF/pbx-views/{1}.jsp"/> </definition> </tiles-definitions>
PS:此处用了*适配页面定位。
6.然后就可以在controller中方便的映射了。
@Controller public class IndexController { @RequestMapping(value = "/index") public String index() { //your service action return "home"; } }
7.流程梳理。
7.1 index请求被Spring分发到IndexController;
7.2 IndexController进行相关的业务处理后,返回字符串home;
7.3 字符串home被TilesViewResolver解析后,返回一个
由logo.jsp/menu.jsp/home.jsp/advers.jsp/footer.jsp组成的一个组合页面。
时间: 2024-10-15 02:21:07