springmvc整合Apache tiles基于java配置的demo
来源:互联网 发布:pscc2017 mac版本下载 编辑:程序博客网 时间:2024/05/29 14:20
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.8def 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的整合就完成了。
- springmvc整合Apache tiles基于java配置的demo
- springMVC和tiles的整合
- Spring学习笔记(六)SpringMVC与Apache Tiles的整合
- SpringMVC整合Tiles框架
- SpringMVC整合Tiles框架
- apache tiles整合spring
- Apache Tiles的使用 前配置
- 基于java配置的springMvc
- struts2.0 整合tiles 配置
- struts2整合tiles及配置
- struts2整合tiles及配置
- struts2.0 整合tiles 配置
- struts2.0 整合tiles 配置
- struts2.0 整合tiles 配置
- struts2整合tiles及配置
- struts2整合tiles及配置
- struts2.0 整合tiles 配置
- struts2.0 整合tiles 1配置(转载后的修改)
- iOS高仿“花田小憩”APP
- Algorithm-week14
- 关于用户故事地图的7种用法
- 线程的两个创建方法
- Total Sales of Supply Chain (25)
- springmvc整合Apache tiles基于java配置的demo
- 【人脸会场签到】零开发就能实现刷脸签到|人脸签到|人脸识别
- Action类的扩展
- 为什么说不真实的产品测试是无效的
- 进程间通信方式二十问(一)
- 关于typedef的用法总结
- LeetCode--Single Number(单独数字)Python
- 【Java基础总结】-零碎注意点
- 遇到问题,勿慌,一步步解决问题!