zoukankan      html  css  js  c++  java
  • 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>

    转自https://www.cnblogs.com/guanghuiqq/archive/2012/08/24/2654296.html

  • 相关阅读:
    百度编辑器如何能实现直接粘贴把图片上传到服务器中
    百度ueditor如何能实现直接粘贴把图片上传到服务器中
    ueditor如何能实现直接粘贴把图片上传到服务器中
    html+SpringMVC超大视频上传解决方案
    html+java超大视频上传解决方案
    html+JSP超大视频上传解决方案
    html+CSharp超大视频上传解决方案
    html+.net超大视频上传解决方案
    SAP 函数CRM_ORDERADM_I_PROD_DETERM_OW的单元测试方法
    SAP CRM Opportunity行项目Alternative ID的填充逻辑
  • 原文地址:https://www.cnblogs.com/shizhijie/p/9603210.html
Copyright © 2011-2022 走看看