S3相比S2感觉舒服很多,用起来确实比传统的include方便,例如之前有个项目用了之后,切换布局什么的很省事,只需要调整一下框架页面就ok了,如果是include的话就费劲了。
不过S3预定义的只有几个head、body之类的tag,有时候还会希望能够增加一些自己扩展的tag,例如 sidebar、footer之类的。
一开始看源码后,增加了个filter的继承( http://www.oschina.net/question/553849_56620 ),后来发现其实有更简单的方式,官方其实已经考虑到这种扩展了,我们只需要实现个 bundle就ok了:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class ExtHtmlTagRuleBundle implements TagRuleBundle {
@Override
public void install(State defaultState, ContentProperty contentProperty,
SiteMeshContext siteMeshContext) {
defaultState.addRule( "myfooter" , new ExportTagToContentRule(contentProperty.getChild( "myfooter" ), false ));
}
@Override
public void cleanUp(State defaultState, ContentProperty contentProperty,
SiteMeshContext siteMeshContext) {
}
} |
如果需要添加多个,install 方法里面那行语句多复制几次就ok了。
然后在sitemesh3.xml中配置一下:
1
2
3
4
|
<!-- 增加自定义标签,目前只提供了一个 myfooter --> < content-processor >
< tag-rule-bundle class = "com.someok.common.base.web.sitemesh3.ExtHtmlTagRuleBundle" />
</ content-processor >
|
相关推荐
Sitemesh 3 的使用及配置
sitemesh3-demo 配置说明参见http://blog.csdn.net/thc1987/article/details/6913416
sitemesh3包括lib,api,demo,配置说明,希望大家喜欢
springmvc + mybatis + sitemesh3 超简洁例子 整合springmvc mybatis 方法请看: http://blog.csdn.net/kokoyuo/article/details/52808510
SpringMVC-Freemarker_Sitemesh3例子, maven构建。
springmvc + mybatis + sitemesh3登陆 超简洁例子mysql 增加了MD5验证
sitemesh 装饰 母版
web布局框架 SiteMesh教程及SiteMesh官方文档翻译
siteMesh demo siteMesh使用文档
sitemesh3的sdk包含demo,帮助文档,包等
sitemesh技术的应用.doc
如果需要自定义装饰器映射器,需要在WEB-INF目录下创建一个sitemesh.xml文件(通常从发布包中拷贝过来更改相应部分)。这一步骤是可选的,通常缺省的配置就能够满足要求。 定义装饰器文件 缺省情况下,sitemesh...
SiteMesh官方文档翻译(含Freemarker但不包括velocity部分)
sitemesh.jar包 sitemesh.jar 包sitemesh.jar 包sitemesh.jar包
spring-boot-sitemesh 源码整合
sitemesh3的一个demo,附带配置说明
SiteMesh是一个网页布局和装饰框架以及Web应用程序集成框架,可帮助创建由页面组成的网站,这些页面需要一致的...SiteMesh可以在基于Java的Web应用程序中使用,也可以作为脱机作业应用于内容。 SiteMesh是可扩展的。
sitemesh 装饰页面技术.
sitemesh-3.0.0的库和源码;从官网(https://github.com/sitemesh/sitemesh3)上下载的!
用sitemesh页面装饰器,将大名鼎鼎的开源即时通讯服务器openfire中运用的,布局页面抽取出来。MyEclipse中可以直接部署的代码。