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. jquery中的ajax方法参数

    引用来自:http://www.cnblogs.com/tylerdonet/p/3520862.html jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String ...

  2. WPF简易北京地铁效果图

    这个是百度地图上北京地铁的地址http://map.baidu.com/?subwayShareId=beijing,131,我们先看下百度上面的效果图 我要实现的内容比较简单,就是绘制这些图,和在地 ...

  3. 关于Sql server数据 MD5加密

    最近在写一个web项目时,需要在数据库中将用户密码等一类信息进行加密处理.数据加密算法有许多  ,各有各的优缺点;在  http://www.cnblogs.com/yangywyangyw/arch ...

  4. 【OpenCV-Python:实现人脸、人眼、嘴巴识别】实战(一)

    AI时代的到来,手机上的APP开始应用人脸识别去完成事情,如iphoneX的人脸解锁,百度自动贩卖机的人脸识别系统进行支付,支付宝的人脸识别登录等,提高了使用软件的易用性,但也因为其便利性,在某些市面 ...

  5. Intel 移位指令的陷阱(转)

    今天发现了一个Intel逻辑左移指令shl的一个bug.   逻辑左移的概念是对给定的目的操作数左移COUNT次,每次移位时最高位移入标志位CF中,最低位补零. 其中OPRD1为目的操作数, 可以是通 ...

  6. web SPA项目目录、命名规范

    项目结构:├── build ├── docs ├── package.json ├── src │ ├── components │ │ ├── List │ │ │ ├── index.js │ ...

  7. Spring配置文件中如何使用外部配置文件配置数据库连接

    直接在spring的配置文件中applicationContext.xml文件中配置数据库连接也可以,但是有个问题,需要在url后带着使用编码集和指定编码集,出现了如下问题,&这个符号报错-- ...

  8. 百度API地图的标注不居中显示,而显示在左上角

    前言:今天弄个百度地图,弄了半天就是不居中,之前使用一直没有遇到这个问题.所以就一直在找原因. 百度地图对地图所在的div做了显示隐藏之类操作,标注就不再居中显示,而显示在左上角. 查了很久,有人提出 ...

  9. Android 动画 属性动画 视图动画 补间动画 帧动画 详解 使用

    Android动画 Property Animation res/animator/filename.xml In Java: R.animator.filename In XML: @[packag ...

  10. selenium2自动化测试学习笔记(一)

    从这周开始学习自动化测试,采用selenium2,目标是在本月学习到appium,并测试公司的真实APP项目. 系统环境:win10 语言:python3.6.4 工具:selenium2 IDE:p ...