首页 > 代码库 > tiles+springmvc 整合使用

tiles+springmvc 整合使用

整合步骤 

1、增加tiles的jar包(包含tld文件)

    <dependency>            <groupId>org.apache.tiles</groupId>            <artifactId>tiles-extras</artifactId>            <version>3.0.5</version>        </dependency>

 2、配置tiles的bean,貌似需要增加到web服务器创建时即创建的spring配置文件中,即需要配置到web.xml文件中</init-param> 为<load-on-startup> 的。如下的dispatcher-servlet.xml文件中配置bean

 

	<servlet>		<servlet-name>springmvc</servlet-name>		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>		<init-param>			<param-name>contextConfigLocation</param-name>			<param-value>           <!-- dispatcher-servlet.xml文件路径 -->            classpath:spring/dispatcher-servlet.xml           </param-value>		</init-param>		<load-on-startup>1</load-on-startup>	</servlet>

3、 在dispatcher-servlet.xml中下增加tiles配置bean的代码。其中/WEB-INF/tiles/tiles-definitions.xml 为tiles配置文件的路径。

	<!-- Tiles 配置相关bean -->	<bean id="tilesConfigurer"		class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">		<property name="definitions">			<list>				<value>/WEB-INF/tiles/tiles-definitions.xml</value>			</list>		</property>	</bean>	<bean id="viewResolver"		class="org.springframework.web.servlet.view.UrlBasedViewResolver">		<property name="viewClass" value="http://www.mamicode.com/org.springframework.web.servlet.view.tiles3.TilesView" />	</bean>

 4、编写配置文件tiles配置文件 tiles-definitions.xml

 其中defaultTemplate为配置首页的定义,。

下面的<definition name="*" 使用了通配符,结合<put-attribute name="body" value="http://www.mamicode.com/WEB-INF/views/{1}.jsp" />    这个{1} 即代表请求的原始页面,比如http://localhost:8080/slark/blog   ,则这里{1}会被替换为blog,即相当于在原blog.jsp页面下增加了一个footer部分。

<tiles-definitions>       <definition name="defaultTemplate" template="/WEB-INF/tiles/tmplate/defaultLayout.jsp">      <put-attribute name="nav" value=http://www.mamicode.com/"/WEB-INF/tiles/tmplate/nav.jsp" />      <put-attribute name="body" value=http://www.mamicode.com/"/WEB-INF/tiles/tmplate/body.jsp" />        <put-attribute name="footer" value=http://www.mamicode.com/"/WEB-INF/tiles/tmplate/footer.jsp" />   </definition>       <definition name="*" template="/WEB-INF/tiles/tmplate/commonLayout.jsp">      <put-attribute name="body" value=http://www.mamicode.com/"/WEB-INF/views/{1}.jsp" />        <put-attribute name="footer" value=http://www.mamicode.com/"/WEB-INF/tiles/tmplate/footer.jsp" />   </definition></tiles-definitions>

 

配置模板页面,下图为commonLayout.jsp 的一部分。body即为本来要请求的页面,如上例中的blog.jsp,然后footer部分为tmplate文件夹中预先写好的可重用的组件页面footer.jsp

<body>    <div>        <div>            <tiles:insertAttribute name="body" />        </div>        <div>            <tiles:insertAttribute name="footer" />        </div>    </div></body>

 

附上官方文档地址:http://tiles.apache.org/framework/tutorial/advanced/utils.html

tiles+springmvc 整合使用