decorators.xml

最近维护一个项目,因为这个项目我没作开发,所以需要先熟悉项目的框架和业务,昨天被一个问题给整懵了,我不管怎么看都弄不明白那个链接怎么跳过去的.因为那个链接地址跟实际看到的页面不一样.链接地址的页面只是实际看到页面的一小部分,反反复复盯着那个请求名,然后到struts.xml文件中去找实际的跳转页面,反复查了几遍确定没问题,但看到的页面的确跟struts.xml里面写的path不一样.
后来在项目中发现有个decorators.xml配置文件,google之,这才明白是它在作怪!
最近项目也比较清闲,所以把这个贴出来给大家看看:).
要使用decorator标签需要下载sitemesh.jar包.
decorator标签可以轻松解决页面布局的问题,轻松是因为相比<include>标签(需要在每个页面都用他引入JSP)而言,decorator标签的使用很简便,只需要在配置文件decorators.xml进行相应的配置再加上一个装饰器(其实就是一个JSP页面)即可.
decorators.xml
<decorators defaultdir="/decorators">
<excludes>
<pattern>/shared/*</pattern>
</excludes>
<decorator name="style" page="style.jsp">
<pattern>/*</pattern>
</decorator>
</decorators>

<excludes> 标签代表不对定义的请求名进行装饰
<decorator> 标签代表对定义的请求名进行相应的装饰
现在我门需要定义一个style.jsp文件,官方是称之为装饰器,俺觉得称他是模版文件更贴切
style.jsp
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
<html>
<head>
<title><decorator:title default="装饰器页面..." /></title>
<decorator:head />
</head>
<body>
<p><font color="red">this is style's header</font></p>
<hr>
<decorator:body />
<p><font color="red">this is style's footer</font></p>
</body>
</html>
需要注意的是style.jsp需要放在 根目录/decorators目录下面,当然decorators目录是需要自己建的.
在这个JSP里面,我们要用到decorator标签了,注意在用之前别忘了定义标签:
至于<decorator:title>,<decorator:head />,<decorator:body />的作用,后面再说!
然后要作的就是准备好我们访问的页面
index.jsp:
<head>
<title>decorator-index.jsp</title>
</head>
<body>
this is index.jsp. it's a simple page.
</body>
把这个页面放在 根目录下和 根目录/shared目录下面一份
现在把应用运行起来
访问:
http://localhost:8080/testDecorator/index.jsp
http://localhost:8080/testDecorator/shared/index.jsp
看看两个页面有什么不一样的?
没错,第一个链接看到的页面还包含style.jsp的小编.
而第二个链接却没有,是因为在decorators.xml文件在把这类的请求给过滤了.
现在明白<decorator:title>,<decorator:body />的作用了吗?
decorator标签还有一些属性和用法,在这就不赘述了,大家自己研究吧

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇