sitemesh中的decorators.xml是怎么起作用的

Fasure_Smile 2016-05-27 08:11:08
在应用sitemesh的时候要在/WEB-INF下创建一个decorators.xml文件来配置修饰页,但是没查到这个xml文件是怎么起作用的。
但是看到网上有关于修改decorators.xml文件路径的文章,是不是WEB-INF下就是这个xml文件的默认路径,只要放在那里就会自动被读取或者加载?
...全文
108 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
概述 Struts 2.0提供一个Sitemesh插件,允许在Sitemesh模板使用Struts标记。 要使用Sitemesh需要包含Freemark,SitemeshSitemesh插件库文件。 配置过滤器 如果需要使用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"?> <decorators defaultdir="/decorators"> /exclude.jsp /exclude/* <decorator name="main" page="main.ftl"> /* decorator> decorators> 如果需要自定义装饰器映射器,需要在WEB-INF目录下创建一个sitemesh.xml文件(通常从发布包拷贝过来更改相应部分)。这一步骤是可选的,通常缺省的配置就能够满足要求。 定义装饰器文件 缺省情况下,sitemesh假定装饰器文件保存在应用上下文根路径下的decorators目录下,如果采用如上配置,装饰器文件应该是ftl格式,如果需要使用其他格式,需要更改过滤器配置。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧