sitemesh3.0 自定义标签

对于sitemesh3,官方只给出了<title><head><body> 三个标签,但是对于一些特殊的需求是远远不能满足的,好了,不废话了,进入正题:

本文章是基于java类来配置的,先建好sitemesh的配置类SiteMeshFilter ,如下:

public class SiteMeshFilter extends ConfigurableSiteMeshFilter {
    @Override
    protected void applyCustomConfiguration(SiteMeshFilterBuilder builder) {
        //customer decorator
        builder.addTagRuleBundle(new CustomTagRuleBundle());
    }
}
接下来是CustomTagRuleBundle,如下:

public class CustomTagRuleBundle implements TagRuleBundle {

    @Override
    public void install(State defaultState, ContentProperty contentProperty, SiteMeshContext siteMeshContext) {
        defaultState.addRule("myfooter", new ExportTagToContentRule(siteMeshContext, contentProperty.getChild("myfooter"), false));
    }

    @Override
    public void cleanUp(State defaultState, ContentProperty contentProperty, SiteMeshContext siteMeshContext) {

    }
}
到此为止,就可以了接下里就是解释,

“myfooter” 是我自定义的标签名字,如果需要多个,则只需要在install里面多添加一条addRule;

下面是母页面的引用:

<body>
<sitemesh:write property='body'/>
<div class="footer">
    <p align="center">&copy; 2016 仙飞 版权所有 </p>
</div>
<sitemesh:write property='myfooter'/>
</body>
只贴了body部分,其他的也不重要;

下面是子页面的引用:

<body>
<myfooter>
    自定义页脚
</myfooter>
</body>


如有疑问,可留言,亦可提建议。 微笑





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值