今天又再一次配置了一个小小的练习项目,在配置sitemesh的过程中,总结了一下对sitemesh需要注意的几点。
具体的jar包不再累述。网上实在太多。把需要的都放入lib中就好。
我今天配置的问题是出在web.xml的配置中。
web.xml配置
<filter>
<filter-name>struts2-clean</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
</filter>
<!--下面的sitemesh一定要注意放在struts2-clean与struts2之间 -->
<filter-mapping>
<filter-name>struts2-clean</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/struts/*</url-pattern>
</filter-mapping>
这个配置与我第一次的配置有点小的出入。将strut2的filter-class由原来的org.apache.struts2.dispatcher.ng.filter
.StrutsPrepare
AndExecuteFilter这一个配置分成了struts-clean的StrutsPrepareFilter
与struts2的StrutsExecuteFilter
这两个filter。所以当我配置这次sitemesh时没有注意到顺序问题。将sitemesh配置在最后,所以在我做好配置启动后却无法看到sitemesh的效果。
这种很低级的错误也是我这种新人常常不注意的地方。
decorator.xml配置没有什么多说的。
<decorators defaultdir="/WEB-INF/struts-view/decorator">
<!-- 不需要装饰的页面放在这里面 -->
<excludes>
</excludes>
<decorator name="main" page="decorator.jsp">
<pattern>*</pattern>
</decorator>
</decorators>
sitemesh.xml配置(可选)
<sitemesh>
<property name="decorators-file" value="/WEB-INF/decorators/decorators.xml"/>
<excludes file="${decorators-file}"/>
<page-parsers>
<parser default="true"
class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>
<parser content-type="text/html"
class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>
<parser content-type="text/html;charset=ISO-8859-1"
class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>
</page-parsers>
<decorator-mappers>
<mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
<param name="config" value="${decorators-file}"/>
</mapper>
</decorator-mappers>
</sitemesh>
没有特别改动的话应该是没有问题了。关键在于web.xml中的顺序问题,稍加注意就好了。
分享到:
相关推荐
Sitemesh 3 的使用及配置
sitemesh 装饰 母版
web布局框架 SiteMesh教程及SiteMesh官方文档翻译
siteMesh demo siteMesh使用文档
一个Struts2+Spring2.5+SiteMesh的小DEMO,仅供大家做个参考!我也刚学会。欢迎大家多交流!
概述 Struts 2.0提供一个Sitemesh插件... 缺省情况下,sitemesh假定装饰器文件保存在应用上下文根路径下的decorators目录下,如果采用如上配置,装饰器文件应该是ftl格式,如果需要使用其他格式,需要更改过滤器配置。
sitemesh.jar包 sitemesh.jar 包sitemesh.jar 包sitemesh.jar包
sitemesh3的一个demo,附带配置说明
SiteMesh是一个网页布局和装饰...SiteMesh也可以用于组成较小页面和布局的大页面。 SiteMesh速度很快。真快。 SiteMesh可以在基于Java的Web应用程序中使用,也可以作为脱机作业应用于内容。 SiteMesh是可扩展的。
sitemesh 装饰页面技术.
sitemesh3包括lib,api,demo,配置说明,希望大家喜欢
sitemesh-2.2.1.jar
很简单的sitemesh入门教程,希望对大家有所帮助
MiddleGen-Hibernate: 本书使用版本:2.1 ... modtime=1096973436&big_mirror=0 下载文件:middlegen-2.1.zip MiddleGenIDE插件: 本书使用版本:1.2.0 ...(7)Sitemesh: ...下载文件:sitemesh-2.3.zip
springMVC与sitemesh的结合,
sitemesh jar包sitemesh jar包sitemesh jar包sitemesh jar包sitemesh jar包sitemesh jar包sitemesh jar包
sitemesh3-demo 配置说明参见http://blog.csdn.net/thc1987/article/details/6913416
SiteMesh教程.pdf
sitemesh-2.4.1.jar sitemesh-2.4.1.jar sitemesh-2.4.1.jar sitemesh-2.4.1.jar sitemesh-2.4.1.jar sitemesh-2.4.1.jar
sitemesh入门demo。博客 Sitemesh入门和使用笔记 对应源码