• SiteMesh的简单使用


    简介:

    SiteMesh是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的。
      它能通过创建一个包装对象,也就是装饰来包裹的对象。尽管它是由Java语言来实现的,但是它能与其他Web应用很好的集成。

    下载SiteMesh:

      官方下载地址:http://wiki.sitemesh.org/wiki/display/sitemesh/Home

     使用:

    我们这里使用IDEA进行演示

    导入SiteMesh  jar包

     

    在web文件中的WEB_INF中创建lib文件夹 再把SiteMesh jar包放入 lib中。

    在 web.xml 中配置 Filter(过滤器)

        <!--定义过滤器-->
        <filter>
            <!--定义过滤器的实现类-->
            <filter-name>sitemesh</filter-name>
            <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
        </filter>
        <!--定义过滤器拦截URL地址-->
        <filter-mapping>
            <!--过滤器的名称-->
            <filter-name>sitemesh</filter-name>
            <!--过滤器负责拦截的URL-->
            <!-- /* 会把所有的请求拦截下来 -->
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    

      

    再创建一个decorators.xml文件

    <?xml version="1.0" encoding="utf-8" ?>
    
    <decorators defaultdir="/layout/">
        <!-- 先定义不过滤的页面,即排除页面 -->
        <excludes>
            <pattern>/assets/*</pattern>
        </excludes>
    
        <!-- 定义需要修饰的页面 -->
        <decorator name="book" page="book_tpl.jsp">
            <pattern>/book/*</pattern>
        </decorator>
    
        <decorator name="cart" page="cart_tpl.jsp">
            <pattern>/cart/*</pattern>
        </decorator>
    
    </decorators>
    

      

    之后,创建模板文件  /layouts/book_tpl.jsp

    <!doctype html>
    <html lang="en">
      <head>
        <title><sitemesh:title /></title>
        <sitemesh:head />
      </head>
      <body>
        <header>
          <%@include file="book_header.jsp" />
        </header>
    
        <div>
          <sitemesh:body />
        </div>
    
        <footer>
          <%@include file="book_footer.jsp" />
        </footer>
    
    
        <!-- 其他用法 -->
    
        <!-- 可以通过 meta 在页面之间传递数据 -->
        <!-- <meta name='xxx' content='ksjfkjskf' -->
        <decorator:getProperty property="meta.xxx" />
    
        <!-- 可以通过 usePage 引用到原始页面的 jsp 对象 -->
        <decorator:usePage id="myPage" />
        <%= myPage.getRequest().getAttribute("xxx") %>
    
        <!-- 其他,自行总结 -->
      </body>
    </html>
    

     就可以使用了

    可以去下载完整的Demo 地址:https://github.com/oukele/StieMeshDemo

  • 相关阅读:
    痛苦之旅——安装Eric4
    如何把自己写的python程序给别人用
    (转)史上最好的Python线程指南
    (转)python编码问题
    Beautiful Soup的一些中文资料
    oracle监听配置
    redhat6.5安装oracle 11g
    《深入浅出MFC》– Document-View深入探讨
    CAS解扰小结
    ts包、表、子表、section的关系
  • 原文地址:https://www.cnblogs.com/oukele/p/9504156.html
Copyright © 2020-2023  润新知