欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SiteMesh3使用。注解方式

程序员文章站 2022-04-19 21:33:21
...

框架可以帮助我们实现将页面中公共的部分提取出来,通过框架提供的过滤器来实现自动的添加到页面中。不用每个页面都要做重复的工作。例如,一般网站的顶部导航都是固定在顶部,并且每个页面都是这个导航。我们如果不用这种框架的方式的话,就要每个页面都要去写这个导航,这样很浪费时间,如果导航中某个跳转链接需要修改,那么也就意味着所有页面中的导航的链接都要去改一遍。所以这样就会浪费时间也容易出错。

使用

首先要导入需要使用的jar包

    <dependency>
            <groupId>org.sitemesh</groupId>
            <artifactId>sitemesh</artifactId>
            <version>3.0.1</version>
        </dependency>

然后创建一个配置类


import org.sitemesh.builder.SiteMeshFilterBuilder;
import org.sitemesh.config.ConfigurableSiteMeshFilter;
import org.springframework.stereotype.Component;

@Component
public class SiteMesh extends ConfigurableSiteMeshFilter {

    @Override
    protected void applyCustomConfiguration(SiteMeshFilterBuilder builder) {
        builder.addDecoratorPath("/*", "/WEB-INF/layout/default.jsp");//过滤的页面,并对页面进行整个的内容
        //builder.addExcludedPath("");//不添加的
    }

}

文件结构
SiteMesh3使用。注解方式

创建成之后,上面的default.jsp是网站整体的结构,如下

  <body>
        <div class="wrapper">
            <%@ include file="top.jsp"%>
            <div class="content-wrapper">
                <sitemesh:write property='body'/>
            </div>
            <%@ include file="food.jsp"%>
        </div>
  </body>

default中在不同的位置引入不同文件即可,实例中top.jsp就是导航
food.jsp就是底部,中间的部分是过滤器对我们过滤的页面中的内容显示的地方。这样就完成了简单的SiteMesh的使用