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>

  

SiteMesh在项目中的配置的更多相关文章

  1. hessian在ssh项目中的配置

    一. 在服务端发布一个web项目 1.创建一个动态的web项目,并导入hessian的jar包 2. 在服务端的crm项目中创建接口 package cn.rodge.crm.service;impo ...

  2. log4j java项目中的配置

    第一步你需要 相关的jar包 第二歩你需要一个关于log4j的配置文件 第三歩 你需要一个检测用的java 文件 导入这两个jar包进你的项目中 commons-logging.jar log4j-1 ...

  3. ORM Nhibernate框架在项目中的配置

    在项目中使用 Nhibernet 时,一定要将 配置文件 .xml  编译方式设置为 嵌入式资源,否则在运行项目时就会出现错误. 以下是hibernate.cfg.xml 的配置,在配置中使用的是 M ...

  4. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.5——在项目中共享配置

    问题: 取出多个模块下相同的配置 解决方案: 在顶级gradle配置文件里面使用allprojects或者subprojects块 讨论: 当你在android studio中新建android项目时 ...

  5. vue项目中全局配置变量

    在项目中api管理需要用到全局变量,创建全局变量的方式也有很多. 1.通过export default const BASEURL = "http://localhost:3333/&quo ...

  6. rem的在vue项目中使用配置,,浏览器的兼容性之Mate标签

    在vue中配置rem 位置:在APP.vue的script中,在export default之外 (()=>{ let winW = document.documentElement.clien ...

  7. Maven项目中的配置

    1 在配置好Maven项目后,新建一个Maven Project.如图 点击next,会进入如下界面: 选择webapp,不选择默认的quickstart,之后会进入以下界面 填好Group ID 和 ...

  8. Vue 项目中 ESlint 配置

    前言 对于 ESlint 这一块一直存在一些疑问,今天看到一个文章内容挺好的,这里拿来了. 一.eslint 安装 1.全局安装 npm i -g eslint 全局安装的好处是,在任何项目我们都可以 ...

  9. vue cli3 创建的项目中eslint 配置 问题的解决

    1--   vue cli3 项目文件结构 2-- 注释问题 在eslintrc.js 文件中,将 '@vue/standard' 注释后重启即可: 3-- 配置 eslint 文件 在 vue-cl ...

随机推荐

  1. Rotational Region CNN

    R2CNN 论文Rotational Region CNN for Orientation Robust Scene Text Detection与RRPN(Arbitrary-Oriented Sc ...

  2. JavaScript之优化DOM

    优化DOM得从重绘和重排讲起,long long ago... 1.重绘和重排 1.1 重绘和重排是什么 重绘是指一些样式的修改,元素的位置和大小都没有改变: 重排是指元素的位置或尺寸发生了变化,浏览 ...

  3. SDN资料

    深入浅出SDN 华为SDN PPT 基于分类的软件定义网络流表更新一致性方案 SDN-网络变革的探讨 Openflow交换机初步安装测试 floodlight源码解读. Floodlight核心包源码 ...

  4. Intellij IDEA debug模式下项目启动慢/无法启动的事件解决过程记录

    项目无法启动了 简单的介绍一下事件过程:周一的早上,收到前端同事抛过来的一个任务,说是一个接口无法正常返回数据,于是就让他把参数发过来,我想试着在本地重现一下并且将问题修复掉,这种情况肯定是要通过de ...

  5. Selenium学习资源和网站

    用于收集常用的网站和学习资源: 文章: Selenium私房菜系列--总章 WEB 自动化测试工具 Selenium 简介及其应用 Selenium教程 和我一起学 Selenium WebDrive ...

  6. 案例:中科院光机所应用大数据可视化工具-LightningChart | 见证高性能图表

    中国科学院上海光学精密机械研究所 中国现代光学和激光科学领域领先研究所 中国科学院上海光学精密机械研究所(简称中科院上海光机所)是我国建立最早.规模最大的激光专业研究所,成立于1964年,现已发展成为 ...

  7. JSON基础(JavaScript)

    1.在JS中使用JSON,先将字符转换为JOSN格式然后就可以直接使用: var obj = JSON.parse(cInfoObj) $('#staffName').val(obj.candidat ...

  8. 1-1 maven 学习笔记(1-6章)

    一.基础概念 1.Maven作为Apache组织中颇为成功的开源项目,主要服务于基于Java平台的项目构建,依赖管理和项目信息管理.从清理,编译,测试到生成报告,到打包部署,自动化构建过程. 还可以跨 ...

  9. java创建运行以及项目结构

    一 创建java project 再src下添加class,选择一个class添加main方法作为程序的入口 二.项目结构: src下添加不同的包,命名方法为com.jikexueyuan.hello ...

  10. CentOS7安装Postgresql

    执行命令 Yum install postgresql-server Yum install postgresql-contrib 安装完成后,检查postgresql的服务状态 Systemctl ...