sitemesh3-springMVC配置

web开发中,一般的页面布局都有统一的header,和footer,甚至统一侧边栏,只有中间主题部分可能不一样,在每一个页面中引入这些相同的部分不免有些麻烦,sitemesh3提供一种解决方案,通过不同的访问连接匹配,可以是页面布局统一风格。

实际上也就是做了两件事:

1,对布局相同的页面统一风格,只需要通过配置,即可

2,配置不同的布局,通过不同的连接匹配,进行不同的布局

西面就来看一下需要哪些配置:

1,首先加入jar包,可手动下载,maven项目可配置如下

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

2,web.xml中加入过滤器配置(匹配方式根据需要自行设置)

     <filter>
        <filter-name>sitemesh</filter-name>
        <filter-class>org.sitemesh.config.ConfigurableSiteMeshFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>sitemesh</filter-name>
        <url-pattern>*.do</url-pattern>
    </filter-mapping>

3,配置不同布局的装饰页面

<sitemesh:write property=‘head‘ /><!--引入主体页面中的 head-->
<sitemesh:write property=‘body‘ /><!--引入主体页面中的 body-->

一般可能是这样的

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- 引入 css js -->
<sitemesh:write property=‘head‘ />
</head>

<body>
<!-- 编写统一风格的header 或者 include -->
<sitemesh:write property=‘body‘ />
<!-- 编写统一风格的footer 或者 include -->
</body>
</html>

4,添加sitemesh3配置文件(通过访问连接配置装饰模式)

<sitemesh>
    <mapping path="/*" decorator="/WEB-INF/decorators/content-decorator.jsp" />
    <mapping path="/index.do" decorator="/WEB-INF/decorators/default-decorator.jsp" />
    <mapping path="/login" decorator="/WEB-INF/decorators/login-decorator.jsp" />
    <mapping path="/logout" decorator="/WEB-INF/decorators/login-decorator.jsp" />

</sitemesh>

5,连接访问流程,如访问的是localhost:8080/xxx/index.do spring中直接请求的index.jsp页面

sitemesh中配置的装饰器是default-decorator.jsp,因此index会通过default-decorator.jsp的装饰后展现

但是,在使用中发现两个问题:

1,sitemesh通过的是访问连接匹配,如果在controller中将请求转发则还会使用访问时的配置,如访问了/xxx/index.do,但我在这个controller中的词请求转发到/xxx/login.do,那么装饰方式是default-decorator.jsp 而不是login-decorator.jsp

2,在装饰器页面 如default-decorator,和主体jsp如index.jsp 中有可能会产生js问题,具体原因也没有找到,控制台不报错,但有一些不通过sitemesh装饰可执行的js,在sitemesh装饰后无效。

时间: 2024-08-07 00:17:31

sitemesh3-springMVC配置的相关文章

SpringMVC配置实例

一.SpringMVC概述 MVCII模式实现的框架技术 Model--业务模型(Biz,Dao...) View--jsp及相关的jquery框架技术(easyui) Contraller--DispatcherServlet以及控制器组件 二.控制器组件 1).DispatherServlet 2).xxx-servlet.xml文件 3).转向模型ModelAndView类 4).相应的Aop组件和拦截器组件 三.springMvc的开发步骤 1.在当前工程引入spring组件包 2.编写

SpringMVC 配置UEditor

SpringMVC 配置UEditor,把UEditor 下的jsp 文件夹放到项目中放jsp页面的目录下,在Controller中中写一个方法(如:@RequestMapping(value="/load/img")访问jsp页面(就跟访问一般的jsp页面一样),需要注意的是,jsp文件夹下的jsp文件和js文件必须放到一起.再把UEditor的后台配置中 URL 中的jsp/controller.jsp改为Controller中的方法的访问URL,就是上面所说的/YourContr

SpringMVC 配置多视图解析器(velocity,jsp)

1.自定义视图解析器 package com.zhaochao.controller; import java.util.HashMap; import java.util.Locale; import java.util.Map; import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework

SpringMVC配置web.xml文件详解(列举常用的配置)

常用的web.xml的配置 1.Spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name) 2.在web.xml配置监听器ContextLoaderListener(listener-class) ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息.因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默

springmvc 配置过程及详解

加入jar包 在web.xml中 添加spring监听器 <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> 添加spring容器(父容器)配置文件: <context-param> <param-name>contextConfigLocation</param

springmvc配置之mvc:annotation-driven

为了简化springmvc配置,spring同时引入了mvc namespace, 配置了 <mvc:annotation-driven/> spring会默认注册a RequestMappingHandlerMapping, a RequestMappingHandlerAdapter, and an ExceptionHandlerExceptionResolver 三个bean, 来支持使用注解(@RequestMapping.@ExceptionHandler.@Controller等

Spring实战第七章————SpringMVC配置的替代方案

SpringMVC配置的替代方案 自定义DispatherServlet配置 我们之前在SpittrWebAppInitializer所编写的三个方法仅仅是必须要重载的abstract方法.但还有更多的方法可以进行重载,从而实现额外的配置. 例如customizeRegistration().在AbstractAnnotationConfigDispatcherServletInitializer将DispatcherServlet主车道Servlet容器后,就会调用该方法,并将Servlet注

springMVC配置jsp/html视图解析器

目录 1.maven项目引入freemark相关jar包 2.freemarker.properties 3.配置视图解析器 参考自springMVC配置jsp.html多视图解析器,本文稍作补充 1.maven项目引入freemark相关jar包 freemaker是以个模板引擎,可以根据提供的数据和创建好的模板,去自动的创建html静态页面.所以在返回html视图时可以用这个引擎结合数据生成html静态页面. <dependency> <groupId>org.springfr

FreeMarker学习(springmvc配置)

springMvc配置 <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/WEB-INF/templates/"/> <property name=&

详解Springboot中自定义SpringMVC配置

详解Springboot中自定义SpringMVC配置 WebMvcConfigurer接口 ? 这个接口可以自定义拦截器,例如跨域设置.类型转化器等等.可以说此接口为开发者提前想到了很多拦截层面的需求,方便开发者自由选择使用.由于Spring5.0废弃了WebMvcConfigurerAdapter,所以WebMvcConfigurer继承了WebMvcConfigurerAdapter大部分内容. WebMvcConfigurer接口中的方法 举例1:configurePathMatch配置