springmvc整合Apache tiles基于java配置的demo
2017-11-30 13:01
295 查看
springmvc整合apache tiles
springmvc整合Apache tiles,虽然是个很简单的东西,但是由于自己太菜,用了好久。首先是项目的构建,用的是gradle,项目构建主要的问题项目依赖用到了slf4j,个人感觉这个包依赖比较奇怪,版本稍微不对就会出问题,因为比较懒,直接用以前的项目依赖配置,然后新加进这个包的时候就各种问题,看着依赖树眼镜都快花了,最后总算弄好了。
代码资源地址:http://download.csdn.net/download/qq_36666651/10139135
https://github.com/wkcaeser/SpringApacheTiles
以下是我的gradle依赖配置,有些事不必要的,主要看下面那几个包:
group 'SpringApacheTiles' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'war' sourceCompatibility = 1.8 def tomcatVersion = "9.0.0.M21" def jstlVersion = "1.2" def springVersion = "4.3.8.RELEASE" def mybatisVersion = "3.4.4" def mybatisSpringVersion = "1.3.1" def mysqlConnectorVersion = "6.0.6" def dbcpVersion = "2.1.1" def log4jVersion = "2.10.0" def gsonVersion = "2.8.1" def jjwtVersion = "0.7.0" def fileupload = "1.3.3" def commonsIo = "2.5" repositories { mavenCentral() } dependencies { testCompile group: 'junit', name: 'junit', version: '4.11' compile "org.apache.tomcat:tomcat-servlet-api:$tomcatVersion" compile "org.apache.tomcat:tomcat-jsp-api:$tomcatVersion" compile "javax.servlet:jstl:$jstlVersion" compile "org.springframework:spring-webmvc:$springVersion" compile "org.springframework:spring-jdbc:$springVersion" compile "org.mybatis:mybatis:$mybatisVersion" compile "org.mybatis:mybatis-spring:$mybatisSpringVersion" compile "mysql:mysql-connector-java:$mysqlConnectorVersion" compile "org.apache.commons:commons-dbcp2:$dbcpVersion" compile "org.apache.logging.log4j:log4j-core:$log4jVersion" compile "com.google.code.gson:gson:$gsonVersion" compile "io.jsonwebtoken:jjwt:$jjwtVersion" compile "commons-io:commons-io:$commonsIo" compile "commons-fileupload:commons-fileupload:$fileupload" // https://mvnrepository.com/artifact/log4j/log4j compile group: 'log4j', name: 'log4j', version: '1.2.14' compile "org.apache.tiles:tiles-core:3.0.1" compile "org.apache.tiles:tiles-api:3.0.1" compile "org.apache.tiles:tiles-jsp:3.0.1" // https://mvnrepository.com/artifact/org.slf4j/slf4j-api compile group: 'org.slf4j', name: 'slf4j-api', version: '1.5.8' // https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.5.8' }
依赖好了以后配置相关的bean,首先配置TilesConfigurer来解析Tile定义,代码如下:
@Bean public TilesConfigurer tilesConfigurer(){ TilesConfigurer tilesConfigurer = new TilesConfigurer(); tilesConfigurer.setDefinitions("/WEB-INF/views/apacheTiles/tiles.xml"); tilesConfigurer.setCheckRefresh(true); return tilesConfigurer; }
注意这个配置文件的位置要和jsp所在的位置在一个根目录下,例如jsp在webapp目录下,那么这个文件也要在此目录。如果在resources目录下,同样的也只查询到此目录下的文件。
然后配置TilesViewResolver,代码如下:
@Bean public ViewResolver viewResolver(){ return new TilesViewResolver(); }
这里需要注意的是,如果你还配置InternalResourceViewResolver视图解析器,那么这里就需要指定优先级,不然在视图解析的时候回出错。
然后就配置tiles的配置文件了,如下:
<?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="tiles" template="/WEB-INF/views/tiles.jsp"> <put-attribute name="header" value="/WEB-INF/views/header.jsp"/> <put-attribute name="base" value="/WEB-INF/views/welcome.jsp"/> <put-attribute name="footer" value="/WEB-INF/views/footer.jsp"/> </definition> </tiles-definitions>
这只是一个简单的例子,definition是可以继承的,将template改为extens,值改为对应tiles模板的名称就可以定制你自己的模板,模板里面添加的attribute可以继承也可以覆盖,不处理就是继承,同名会覆盖。
然后在jsp页面引入就可以了:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="t"%> <html> <head> <title>Title</title> </head> <body> <div> <t:insertAttribute name="header"/> </div> <div> <t:insertAttribute name="base"/> </div> <div> <t:insertAttribute name="footer"/> </div> </body> </html>
jsp要注意引入相应的文档定义:
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="t"%>
这样springmvc和apache tiles的整合就完成了。
相关文章推荐
- 基于java配置的springMvc
- 【Java】WebSocket协议与 SpringMVC整合WebSocket demo
- 基于Java配置SpringMvc 的HelloWorld项目
- 基于注解Spring MVC综合Hibernate(需要jar包,spring和Hibernate整合配置,springMVC组态,重定向,)批量删除
- 【JavaWeb】springmvc + hibernate整合配置
- Java Activiti(11)---整合到springMVC项目的详细配置
- 基于Java配置的springMvc处理请求
- SpringMVC入门之二:配置及启用SpringMVC(基于JAVA配置)
- 纯Java配置SpringMvc整合Spring-Data-JPA
- 基于注解的Spring MVC整合Hibernate(所需jar包,spring和Hibernate整合配置,springMVC配置,重定向,批量删除)
- springMvc基于java代码的配置
- 基于SpringMVC国际化资源配置方式Demo
- Java Web开发之Spring | SpringMvc | Mybatis | Hibernate整合、配置、使用
- java-durid、mybatis、spring 整合基于 AbstractRoutingDataSource 的多数据源读写分离配置
- SSM简单整合(Mybatis,Spring,SpringMVC,基于注解和xml文件配置)
- 【Spring in action】基于Java配置SpringMVC中使用Spring及SpringMVC各种请求详解
- 基于注解的Spring MVC整合Hibernate(所需jar包,spring和Hibernate整合配置,springMVC配置,重定向,批量删除)
- 【Spring in action】SpringMVC基于xml及java配置的简单运用
- javaWeb项目SpringMVC3.2.1与Mybatis3.0.4整合实例(Mybaits-spring配置文件的几种方式)之一SqlSessionDaoSupport方式
- Cairngorm+BlazeDS整合Flex+Java的Demo(实例)