• jeesite <meta name="decorator" content="default"/>


    使用sitemesh的步骤

    1. 添加jar文件到classpath

    2. 在web.xml中增加过滤器

    <!-- Sitemesh -->  
    <filter>  
        <filter-name>sitemesh</filter-name>  
        <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>  
    </filter>  
     
    <filter-mapping>  
        <filter-name>sitemesh</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>  

      3. 在/WEB-INF中创建decorator.xml文件

    <decorators defaultdir="/decorators">  
        <decorator name="main" page="main.jsp">  
             <pattern>/*</pattern>  
        </decorator>  
    </decorators>  

         defaultdir:指定了装饰页面的存放路径

        在这里可以使用<decorator>标签配置多个装饰器

     

    4. 另外有一个可选的sitemesh.xml文件,放在/WEB-INF目录下。如果没用,则默认读取sitemesh.jar文件中的sitemesh-default.xml文件。这个文件在jar:com.opensymphony.module.sitemesh.factory包中。

     

    在这个文件中可以指定使用那些mapper对象来装饰页面,也可以扩展自己的Mapper类。 sitemesh自带的mapper类放在com.opensymphony.module.sitemesh.mapper包中,可以供大家选择使用。

     

    5. 这里是今天学习备注的重点 ,com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper 这个类的使用。

     

    在sitemesh-default.xml中,可以看到已经声明了这个类,并且可以通过查阅API来获得其使用方法。

    在这个文件中可以看到配置了这个类的两个属性

    property.1=meta.decorator  
     
    property.2=decorator  

      通过查阅API可以找到,只要html文件中包含

    <meta name="decorator" content="decoratorname">  
     
    <meta name="meta.decorator" content="decoratorname">  

      就可以应用相应的装饰器,而不必在decorator.xml中使用<pattern>来规定哪些页面使用哪些装饰器。

    <decorators defaultdir="/decorators">  
        <decorator name="main" page="main.jsp">  
        </decorator>  
    </decorators>  

     6. 一点联想:

     

       在com.opensymphony.module.sitemesh.mapper包中我看到了一个叫CookieDecoratorMapper的类,话说可以在用户的cookie中指定装饰器的名字。

     

  • 相关阅读:
    python进阶(18)@wraps装饰器
    python进阶(17)偏函数partial
    《将博客搬至CSDN》
    ajax.error
    js金额校验,js正则表达式,包含正负,小数点后两位
    input框 限制只能输入金额(-.数字)
    input 属性为 number,maxlength不起作用如何解决?
    Redis设计与实现第二部分:第9章:单机数据库的实现
    Redis设计与实现第一部分:第8章:Redis-对象
    Redis设计与实现第一部分:第7章:Redis-压缩列表
  • 原文地址:https://www.cnblogs.com/Fooo/p/16408690.html
Copyright © 2020-2023  润新知