zoukankan      html  css  js  c++  java
  • SiteMesh在项目中的配置

    SiteMesh在项目中的配置
    首先在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>*.do</url-pattern>
    </filter-mapping>
    <filter-mapping>
     <filter-name>sitemesh</filter-name>
     <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    凡是提交的.do和.jsp的请求,都要经过siteMesh的处理,哈哈,当然html的就不用处理啦
    另外在WEB-INF下面还有一个配置sitemesh.xml:
    <sitemesh>
     <property name="decorators-file" value="/WEB-INF/decorators.xml" />
     <excludes file="${decorators-file}" />
     <page-parsers>
      <parser content-type="text/html"
       class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />
     </page-parsers>
     <decorator-mappers>
      <mapper
       class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper">
       <param name="property.1" value="meta.decorator" />
       <param name="property.2" value="decorator" />
      </mapper>
      <mapper
       class="com.opensymphony.module.sitemesh.mapper.FrameSetDecoratorMapper">
      </mapper>
      <mapper
       class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper">
       <param name="match.MSIE" value="ie" />
       <param name="match.Mozilla [" value="ns" />
       <param name="match.Opera" value="opera" />
       <param name="match.Lynx" value="lynx" />
      </mapper>
      <mapper
       class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper">
       <param name="decorator" value="printable" />
       <param name="parameter.name" value="printable" />
       <param name="parameter.value" value="true" />
      </mapper>
      <mapper
       class="com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper">
       <param name="decorator" value="robot" />
      </mapper>
      <mapper
       class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper">
       <param name="decorator.parameter" value="decorator" />
       <param name="parameter.name" value="confirm" />
       <param name="parameter.value" value="true" />
      </mapper>
      <mapper
       class="com.opensymphony.module.sitemesh.mapper.FileDecoratorMapper">
      </mapper>
      <mapper
       class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
       <param name="config" value="${decorators-file}" />
      </mapper>
     </decorator-mappers>
    </sitemesh>
    其实这个配置倒是一般是默认的。嘿嘿。不过我当时也研究了一下。不过主要的还是这个文件是在SITEMESH的JAR包中自动装载进来的,它决定了另外一个配置文件的位置和名字,就是decorators.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <decorators defaultdir="/decorators"> 
     <decorator name="default" page="default.jsp" />
     <decorator name="defaulths" page="default_hs.jsp"/>
     <decorator name="main" page="main.jsp" />
     <decorator name="mainhs" page="main_hs.jsp"/>
    </decorators>
    
    这里配置了4个渲染的模板,同时也给这四个模板定义了名字。看看模板的内容,比如这个main.jsp:
    <%@ include file="/common/taglibs.jsp"%>
    <html>
     <head>
      <title>
       <decorator:title default="DV110.com" />
      </title>
      <%@ include file="/common/meta.jsp"%>
      <decorator:head />
     </head>
     <body id="homepage">
      <div id="header">
       <jsp:include page="/common/header.jsp" />
      </div>
      <div align="center" style="height:500px;">
       <table border="0" cellpadding="0" cellspacing="0" width="779" align="center">
        <tr>
         <td valign="top" >
          <%@ include file="/common/messages.jsp"%>
          <h1 align="center">
           <decorator:getProperty property="page.heading" />
          </h1>
          <decorator:body />
         </td>
        </tr>
       </table>
      </div>
      <div id="footer">
       <jsp:include page="/common/footer.jsp" />
      </div>
     </body>
    </html>
    以上是系统知道要用SiteMesh来处理后,要使用的模板。
    以下是系统的页面,比如设备更新页面,会在页面中有个<meta name="decorator" content="default${dName}">
    其中content=""这里面的名字就是我们配置的模板的名字。
    <%@ page language="java" errorPage="/error.jsp" pageEncoding="UTF-8"
     contentType="text/html;charset=UTF-8"%>
    <%@ include file="/common/taglibs.jsp"%>
    <html>
     <head>
      <title>设备信息更新</title>
      <meta name="decorator" content="default${dName}">
     </head>
     <body>
      <html:form action="deviceVIS.do?method=updateDevice" method="post">
       <html:hidden property="id" />
       <table width="516" border="0" align="center">
        <tr>
         <td width="84">
          设备名称
         </td>
         <td width="288">
          <html:text property="name" />
         </td>
         <td width="122">
           
         </td>
        </tr>
        <tr>
         <td>
          安装地址
         </td>
         <td>
          <html:text property="installLocation" />
         </td>
         <td>
           
         </td>
        </tr>
        <td>
          
        </td>
        <td>
         <input type="submit" name="Submit" value="保存" />
         <input type="reset" name="cancel" value="重置" />
        </td>
        <td>
          
        </td>
        </tr>
       </table>
      </html:form>
     </body>
    </html>
    

      

  • 相关阅读:
    java的一些基本概念──JDK 、j2se 、j2sdk...
    shell函数的调用执行
    ICE第三方包简介及安装&ICE安装(linux)
    http状态码
    Grep命令学习笔记(转)
    STL map用法详解
    ubuntu下安装subversion客户端
    linux下安装Tomcat及设置JSP环境
    ICE总结
    struts开发
  • 原文地址:https://www.cnblogs.com/chinajava/p/5772711.html
Copyright © 2011-2022 走看看