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="org.springframework.web.servlet.view.tiles3.TilesView" />
	</bean>

 4、編寫配置文件tiles配置文件 tiles-definitions.xml

 其中defaultTemplate為配置首頁的定義,。

下面的<definition name="*" 使用了通配符,結合<put-attribute name="body" value="/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="/WEB-INF/tiles/tmplate/nav.jsp" />
      <put-attribute name="body" value="/WEB-INF/tiles/tmplate/body.jsp" />  
      <put-attribute name="footer" value="/WEB-INF/tiles/tmplate/footer.jsp" /> 
  </definition>
  
     <definition name="*" template="/WEB-INF/tiles/tmplate/commonLayout.jsp">
      <put-attribute name="body" value="/WEB-INF/views/{1}.jsp" />  
      <put-attribute name="footer" value="/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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM