SpringMVC集成Tiles布局引擎框架
生活随笔
收集整理的這篇文章主要介紹了
SpringMVC集成Tiles布局引擎框架
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Tiles布局框架,?http://tiles.apache.org/?Spring已經(jīng)對(duì)Tiles進(jìn)行了集成。頁(yè)頭頁(yè)尾公共模板頁(yè)要靠這個(gè),不然重復(fù)代碼太多。
<dependency><groupId>org.apache.tiles</groupId><artifactId>tiles-servlet</artifactId><version>3.0.5</version></dependency><dependency><groupId>org.apache.tiles</groupId><artifactId>tiles-jsp</artifactId><version>3.0.5</version></dependency><dependency><groupId>org.apache.tiles</groupId><artifactId>tiles-core</artifactId><version>3.0.5</version></dependency><dependency><groupId>org.apache.tiles</groupId><artifactId>tiles-api</artifactId><version>3.0.5</version></dependency>
修改Spring的配置文件:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.tiles3.TilesConfigurer;
import org.springframework.web.servlet.view.tiles3.TilesViewResolver;@Configuration
@EnableWebMvc
@ComponentScan("blog.csdn.unix21.controller")
public class WebConfig extends WebMvcConfigurerAdapter {@Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {configurer.enable(); }@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {// TODO Auto-generated method stubsuper.addResourceHandlers(registry);}// Tiles@Beanpublic TilesConfigurer tilesConfigurer() {TilesConfigurer tiles = new TilesConfigurer();tiles.setDefinitions(new String[]{"/WEB-INF/layout/tiles.xml","/WEB-INF/views/**/tiles.xml"});tiles.setCheckRefresh(true);return tiles;}@Beanpublic ViewResolver viewResolver() {return new TilesViewResolver();}
}
page.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="t" %>
<%@ page session="false" %>
<html><head><title>${title}</title><link rel="stylesheet" type="text/css" href="<s:url value="/resources/common.css" />" > ${mycss}${myjs}
</head>
<body><div id="header"><t:insertAttribute name="header" /></div><div id="content"><t:insertAttribute name="body" /></div><div id="footer"><t:insertAttribute name="footer" /></div>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC"-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN""http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions><definition name="base" template="/WEB-INF/layout/page.jsp"> <put-attribute name="header" value="/WEB-INF/layout/header.jsp" /><put-attribute name="footer" value="/WEB-INF/layout/footer.jsp" /></definition><definition name="demo" extends="base"><put-attribute name="body" value="/WEB-INF/views/demo.jsp" /></definition></tiles-definitions>
demo.controller
@RequestMapping(value = "/demo", method = RequestMethod.GET)public ModelAndView demo() { ModelAndView mv = new ModelAndView();mv.addObject("title", "demo");mv.addObject("mycss", "<link rel=\"stylesheet\" type=\"text/css\" \"/my.css\" >");mv.addObject("myjs", "<script type=\"text/javascript\" src=\"http://blog.csdn.net/unix21/my.js\" charset=\"utf-8\"></script>");mv.setViewName("demo");return mv;}
header.jsp和footer.jsp就是頁(yè)頭頁(yè)尾。
大致文件結(jié)構(gòu)
總結(jié)
以上是生活随笔為你收集整理的SpringMVC集成Tiles布局引擎框架的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java的JSON操作存储List到Re
- 下一篇: Spring security防止跨站请