struts.xml文件中配置tiles.xml


Apache Tiles是一個JavaEE應用的頁面布局框架。Tiles框架提供了一種模板機制,可以為某一類頁面定義一個通用的模板,該模板定義了頁面的整體布局。布局由可以復用的多個塊組成,每個頁面可以有選擇性的重新定義塊而達到組件的復用。

Tiles最先作為Apache Struts框架的一個組件,后來被獨立為Apache的一個獨立項目。
Tiles主要特點:
1,模板機制的頁面布局功能 2,靈活的布局重構機制。使用模板的頁面,可以直接在JSP里使用Tiles提供的標簽重新定義塊元素,也可以使用類似tiles.xml等配置文件定義。 3,易於與Struts,Shale,JSF等框架集成

 

平時在配置文件中總是因為路徑問題而頭疼,tiles幫忙了。

result組件中發type包含了tiles。通過在tiles.xml文件中配置的路徑,每一個result返回的jsp頁面路徑就會很清晰,404的錯誤就遠離了。

寫法如下:

1. 在struts.xml文件中添加:

1)定義一個package包,讓其繼承tiles-default。

<contant name="struts.convention.relative.result.types" value="tiles" />

<package extends="tiles-default" name="centric_default" namespace="/">

 <interceptors>
   <!-- 登錄檢查 -->
   <interceptor class="org.centric.modules.interceptor.CheckLoginInterceptor" name="checkLogin" />

   <interceptor-stack name="default-stack">
    <interceptor-ref name="checkLogin" />
    <interceptor-ref name="defaultStack">
     <param name="exception.logLevel">error</param>
    </interceptor-ref>
   </interceptor-stack>

  <global-results>
   <result name="login">/login.jsp</result>

</global-results>

  <global-exception-mappings>
   <exception-mapping exception="java.lang.Exception" result="exception_stack" />
  </global-exception-mappings>
 </package>

2) 其他的包繼承這個包即可。

 <package name="flexpaper" extends="centric_default" namespace="/flexpaper">
  <action name="fileconvert" method="*" class="fileconvertAction">
  </action>
 </package>

 3)編寫tiles.xml文件

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN" "http://tiles.apache.org/dtds/tiles-config_2_1.dtd">

<tiles-definitions>

 <!-- template/*nav.jsp -->
 <definition name="nav" templateExpression="/templates/template1/templatenav.jsp">
  <display-name>目前等同style</display-name>
  <put-attribute name="trails" type="template" value="/none.jsp" />
  <put-attribute name="showExtMsg" type="template" value="../float_div.jsp" />
  <put-attribute name="body" type="template" value="/welcome.jsp" />
 </definition>

 <definition extends="nav" name="/*/*/*/*">
  <put-attribute name="body" type="template" value="/view/{1}/{2}/{3}/{4}.jsp" />
 </definition>

</tiles-definitions>

 


免責聲明!

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



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