社区
Web 开发
帖子详情
sitemesh中的decorators.xml是怎么起作用的
Fasure_Smile
2016-05-27 08:11:08
在应用sitemesh的时候要在/WEB-INF下创建一个decorators.xml文件来配置修饰页,但是没查到这个xml文件是怎么起作用的。
但是看到网上有关于修改decorators.xml文件路径的文章,是不是WEB-INF下就是这个xml文件的默认路径,只要放在那里就会自动被读取或者加载?
...全文
108
回复
打赏
收藏
sitemesh中的decorators.xml是怎么起作用的
在应用sitemesh的时候要在/WEB-INF下创建一个decorators.xml文件来配置修饰页,但是没查到这个xml文件是怎么起作用的。 但是看到网上有关于修改decorators.xml文件路径的文章,是不是WEB-INF下就是这个xml文件的默认路径,只要放在那里就会自动被读取或者加载?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jsoup jar包
jsoup学习用的JAR包 复合页面,始终是一个开发web应用时必须面对的问题,对struts的titles有厌倦,听说
sitemesh
不错,尝试,原以为复杂,谁知用起来是那么地简单,太令人惊叹! 写下试用教程: 1.准备一个web项目,到
sitemesh
官方网站下载
sitemesh
包与tld文件 http://www.opensymphony.com/
sitemesh
/ 2.把
sitemesh
-2.3.jar加入classpath
中
,把tld放到WebContent/WEB-INF/tld/下 3.更改web.
xml
文件,在适当地方加下: (1) filter配置:
sitemesh
com.opensymphony.module.
sitemesh
.filter.PageFilter
sitemesh
/* (2)标签库配置:
sitemesh
-
decorator
/WEB-INF/tld/
sitemesh
-
decorator
.tld
sitemesh
-page /WEB-INF/tld/
sitemesh
-page.tld 4.在WebContent/WEB-INF目录下建
sitemesh
.
xml
文件,内容如下: 5.建
decorator
s.
xml
文件,内容如下: /user* 6.在目录WebContent/pages/_
decorator
s下建layout.jsp,内容如下: Hello World!<
Struts2整合
SiteMesh
技巧
概述 Struts 2.0提供一个
Sitemesh
插件,允许在
Sitemesh
模板
中
使用Struts标记。 要使用
Sitemesh
需要包含Freemark,
Sitemesh
和
Sitemesh
插件库文件。 配置过滤器 如果需要使用Freemark模板文件作为装饰器文件,需要在web.
xml
文件
中
添加如下配置:
xml
代码
struts-cleanup
org.apache.struts2.dispatcher.ActionContextCleanUp
filter>
sitemesh
com.opensymphony.module.
sitemesh
.filter.PageFilter
filter>
struts2
org.apache.struts2.dispatcher.FilterDispatcher
filter>
struts-cleanup
/*
filter-mapping>
sitemesh
/*
filter-mapping>
struts2
/*
filter-mapping> 注意ActionContextCleanUp过滤器必须在FilterDispatcher之前配置,ActionContextCleanUp的主要功能是通知FilterDispatcher执行完毕不要清除ActionContext,以便
sitemesh
装饰器可以访问Struts值堆栈。 配置装饰器 在WEB-INF目录下创建一个
decorator
.
xml
文件,指定装饰器需要匹配哪些文件,下述示例指定main.flt将装饰所有的jsp文件:
xml
代码
xml
version="1.0" encoding="ISO-8859-1"?> <
decorator
s defaultdir="/
decorator
s">
/exclude.jsp
/exclude/*
<
decorator
name="main" page="main.ftl">
/*
decorator
>
decorator
s> 如果需要自定义装饰器映射器,需要在WEB-INF目录下创建一个
sitemesh
.
xml
文件(通常从发布包
中
拷贝过来更改相应部分)。这一步骤是可选的,通常缺省的配置就能够满足要求。 定义装饰器文件 缺省情况下,
sitemesh
假定装饰器文件保存在应用上下文根路径下的
decorator
s目录下,如果采用如上配置,装饰器文件应该是ftl格式,如果需要使用其他格式,需要更改过滤器配置。
sitemesh
使用例子
sitemesh
使用例子。
xml
version="1.0" encoding="utf-8"?> <
decorator
s defaultdir="/
decorator
s">
<
decorator
name="index" page="index.jsp">
/*
decorator
>
decorator
s>
Sitemesh
自定义
decorator
s.
xml
文件路径
实现思路: 通过覆盖默认的
sitemesh
.
xml
来实现 1. 打开
sitemesh
的jar文件, 在com.opensymphony.module.
sitemesh
.factory目录里找到
sitemesh
-default.
xml
, 将其复制到项目的任意目录(如/commons/sitemsh/目录), 并将其改名为
sitemesh
.
xml
; 2. 在web.
xml
文件里添加一个容
Cannot load excludes configuration file "/WEB-INF/
decorator
s.
xml
" as specified in "
sitemesh
.
xml
" or
今天启动公司的一个旧项目时,控制台报出错误: Cannot load excludes configuration file "/WEB-INF/
decorator
s.
xml
" as specified in "
sitemesh
.
xml
" or "
sitemesh
-default.
xml
" 本人的/web-inf目录下存在
decorator
s.
xml
文件,但是无法启动。 解决方法如下(ide...
Web 开发
81,094
社区成员
341,711
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章