- 浏览: 313328 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (118)
- oracle (16)
- java (13)
- jquery (16)
- hibernate (2)
- spring (14)
- struts (2)
- eclipse (1)
- birt (5)
- integrated skill (13)
- linux (9)
- css+html (5)
- redis (1)
- jqgrid (4)
- mybatis (2)
- multithreading (3)
- jvm (1)
- mvn (3)
- php (2)
- jms (2)
- photoshop (1)
- springmvc (3)
- cluster (1)
- cache (1)
- jquery-ui (2)
- 英语词根 (0)
- svn (0)
- ide (1)
- mysql (3)
- rich-text (1)
- golang (8)
- mac 10 (1)
- android (1)
- react (0)
- bootstrap (2)
- css (2)
- 1 (0)
- beego (1)
- pictures (1)
- java小生转战 (0)
- 转站通知 (0)
- 转站通知,,,啊啊啊 (1)
- threeperson (1)
- unity (1)
最新评论
-
zld406504302:
aaaddddddd
java小生转站threeperson博客 -
zld406504302:
aaaaaddd
java小生转站threeperson博客 -
zld406504302:
aaaaaaaaaaaa
java小生转站threeperson博客 -
乌发舞天:
UEditor 实例 -
van_2013:
请问这是订阅模式的配置吗?
SPRING JMS 整合ACTIVEMQ
springmvc 整合apache tiles
最近把springmvc3.2.0 和 apache tiles 整合了一下,并用mvn构建了web工程,下面把关键点说明一下。前提:springmvc3.2 已经搭建完毕,搭建方式可查看
http://zld406504302.iteye.com/blog/1887537
1:pom.xml 依赖项
2:创建tiles.xml 文件,并构建tiles模板
2.1 目录结构
[img]
[/img]
2.2 文件内容
tiles.xml
baselayout.jsp
footer.jsp
loginUser.jsp
menu.jsp
sublayout.jsp
title.jsp
3:dispatcher-servlet.xml 增加tiles view试图
InternalResourceViewResolver 和 TilesViewResolver 共存,且以TilesViewResolver 为首要匹配,通过 p:order 来控制级别。数字越大,级别越低。
启动tomcat ,感受效果吧。
definition 定义的是页面公用的部分,方便页面引用
http://zld406504302.iteye.com/blog/1887537
1:pom.xml 依赖项
<!--tiles jar 依赖--> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-extras</artifactId> <version>3.0.1</version> </dependency> <!--jstl 依赖 (构建tiles模板会用到)--> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>
2:创建tiles.xml 文件,并构建tiles模板
2.1 目录结构
[img]
[/img]
2.2 文件内容
tiles.xml
<?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="baselayout" template="/WEB-INF/tiles/baselayout.jsp" preparer="com.cn.ld.framework.web.tiles.CustomerPreparer"> <put-attribute name="title" value="title" /> <put-attribute name="login_user" value="" /> <put-list-attribute name="stylesheets"> <add-attribute value="static/style/main" /> </put-list-attribute> <put-list-attribute name="scripts"> <add-attribute value="static/js/util" /> </put-list-attribute> </definition> <definition name="sublayout" extends="baselayout"> <put-attribute name="login_user" value="/WEB-INF/tiles/loginUser.jsp" /> </definition> <definition name="title" template="/WEB-INF/tiles/title.jsp"> <put-attribute name="title" value="springmvc3.2" /> </definition> <definition name="user/login/home" extends="baselayout"> <put-attribute name="title" value="home page" /> <put-attribute name="main" value="/WEB-INF/jsp/user/login/home.jsp" /> </definition> <definition name="home" extends="baselayout"> <put-attribute name="main" value="/WEB-INF/tiles/loginUser.jsp" /> <put-list-attribute name="scripts" inherit="true"> </put-list-attribute> </definition> </tiles-definitions>
baselayout.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> <%@ taglib uri="http://tiles.apache.org/tags-tiles-extras" prefix="tilesx" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- tile <put-attribute name="title" value="title" />--> <title><tiles:insertAttribute name="title" /></title> <!-- stylesheets 要和tiles <put-list-attribute name="stylesheets"> name 一致 --> <!-- classname 定义类型 --> <tilesx:useAttribute name="stylesheets" classname="java.util.List" /> <c:forEach items="${stylesheets}" var="src"> <link rel="stylesheet" type="text/css" href="<%=basePath %><c:url value='${src}.css' />" /> </c:forEach> <tilesx:useAttribute id="scripts" name="scripts" classname="java.util.List" /> <c:forEach items="${scripts}" var="src"> <script type="text/javascript" src="<%=basePath %><c:url value='${src}.js' />"></script> </c:forEach> </head> <body> <div id="head"> <div id="banner"></div> <div id="menu"><jsp:include page="/WEB-INF/tiles/menu.jsp"/></div> </div> <!-- 加载 tiles main 指向的页面<put-attribute name="main" value="/WEB-INF/jsp/user/login/home.jsp" /> --> <div id="main"><tiles:insertAttribute name="main" /></div> <div id="footer"><jsp:include page="/WEB-INF/tiles/footer.jsp"/></div> </body> </html>
footer.jsp
Copyright 2013 springmvc3.2, developer java 小生
loginUser.jsp
<h1>Hello, ${user.name} ${user.age } ${user.sex}</h1>
menu.jsp
<div> [list] [*]1 [*]2 [*]3 [*]4 [/list] </div>
sublayout.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> <%@ taglib uri="http://tiles.apache.org/tags-tiles-extras" prefix="tilesx" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <tiles:insertAttribute name="login_user" />
title.jsp
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> <title>springmvc3.2</title>
3:dispatcher-servlet.xml 增加tiles view试图
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver" p:order="1"/> <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> <property name="definitions"> <list> <value>/WEB-INF/tiles.xml</value> </list> </property> </bean> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" p:order="2"/>
InternalResourceViewResolver 和 TilesViewResolver 共存,且以TilesViewResolver 为首要匹配,通过 p:order 来控制级别。数字越大,级别越低。
启动tomcat ,感受效果吧。
评论
3 楼
zld406504302
2015-04-27
abc382410124 写道
楼主你好,看了你的文章感觉很详细,但是我有个疑问就是tiles一定要定义那么多的definition标签吗,有没有简单一点的方式,这样是不是每个jsp页面就会有一个definition的定义和模板文件呀
definition 定义的是页面公用的部分,方便页面引用
2 楼
abc382410124
2014-12-08
楼主你好,看了你的文章感觉很详细,但是我有个疑问就是tiles一定要定义那么多的definition标签吗,有没有简单一点的方式,这样是不是每个jsp页面就会有一个definition的定义和模板文件呀
1 楼
疯狂的包心菜
2013-12-29
楼主,demo发给我可好?
scorpiozhoulei@126.com
O(∩_∩)O谢谢
scorpiozhoulei@126.com
O(∩_∩)O谢谢
发表评论
-
spring jdbcTemplate 批量插入返回自增id
2016-03-22 00:24 2015项目中一个业务场景包含两个相互依赖的批量插入,第二次批量插入 ... -
HandlerMethodArgumentResolver 自定义封装参数bean
2015-11-02 23:21 5614小生最近写代码遇到一个小问题,一个contr ... -
mvn assembly package jar 无法运行
2015-04-27 20:04 781项目中要跑了一个jar工程,每天做一次数据结 ... -
SPRING INTERCEPTOR 监控 JMS 发送接受性能
2013-07-18 17:17 1596将spring aspectj 和 jms 整合了一下, ... -
SPRING JMS 发送 接受 性能监控
2013-07-18 17:13 0将spring aspectj 和 jms 整合了一下, ... -
SPRING JMS 整合ACTIVEMQ
2013-07-18 16:47 13088近日用spring3.2 jms 与activemq5.8 ... -
SLF4J jar包冲突的迷惑
2013-07-14 12:42 1489Running com.cn.ld.modules.jms.J ... -
SLF4J jar包冲突的迷惑
2013-07-14 12:42 0Running com.cn.ld.modules.jms.J ... -
tomcat 集群下ehcache 整合spring cache-annotation
2013-07-02 12:44 6199系统环境:win7 部署环境:apache2.2 tomcat ... -
springmvc3.2 demo
2013-06-15 23:28 107471:mvn 构建一个web工程 [img] [/img] r ... -
spring jms 异步接受消息
2013-05-22 21:46 24spring jms 的监听器是可配置的,而且通常会交 ... -
Spring Multipart上传
2013-03-18 11:53 11591:在application.xml中初始化CommonsM ... -
@Value 注解
2013-03-13 15:43 1321:在application。xml文件中配置属性文件加载be ... -
spring 事务隔离 与 传播
2012-07-15 21:18 10071) PROPAGATION_REQUIRED ,默认的spr ... -
AXIS2 与SSH 集成 事物代理不可用
2012-05-28 18:42 21132012-5-28 18:17: ... -
spring缓存 ehcache
2012-03-07 10:49 1619ehcache 与spring集成实现简单 ... -
ssh+birt
2011-12-02 12:00 3317新公司工作一年多,接触最多的就是统计,当然用于统计数据展示的b ... -
java,spring,aspectj
2011-11-16 19:39 1196最近要项目有个新需求,统计查询的接口要进行 ...
相关推荐
在Spring MVC中整合Apache Tiles,可以将页面设计与业务逻辑分离,提高代码的可维护性和复用性。 在Spring MVC中,视图解析器扮演着重要的角色,它负责将处理完的模型数据转换成具体的视图展现给用户。`...
在本教程中,我们将深入探讨如何将Tiles与SpringMVC整合,以实现更高效的页面构建。 首先,我们需要理解Tiles的核心概念。Tiles框架基于Apache Struts项目,其主要思想是定义模板(Tiles),这些模板是页面的可重用...
SpringMVC、Freemarker和Apache Tiles是三个在Web开发中广泛应用的框架,它们各自承担着不同的职责。SpringMVC是Spring框架的一部分,主要用于构建基于Java的后端 MVC(Model-View-Controller)应用程序;Freemarker...
SpringMVC4与Tiles3整合教程 在Java Web开发中,SpringMVC作为一个强大的MVC框架,被广泛用于构建后端逻辑,而Tiles3则是一个视图层框架,主要用于页面布局和组合。将两者整合可以使得应用的视图管理更加灵活高效。...
Apache Tiles3 是一个强大的视图框架,用于构建和管理网页应用中的页面布局。它允许开发者定义页面模板,然后通过组合这些模板来创建复杂的页面结构。Spring MVC 是一款流行的基于模型-视图-控制器(MVC)设计模式的...
《Maven2.0.11_SpringMVC2.5_Tiles2.0.5:构建高效Web应用的综合指南》 在Web应用程序开发领域,Maven、Spring MVC和Tiles是三个至关重要的组件,它们共同构建了一个强大而高效的开发框架。本指南将深入解析这些...
整合SpringMVC与Apache Tiles的步骤如下: 1. 添加依赖:在项目的pom.xml或build.gradle文件中,添加SpringMVC和Apache Tiles的依赖库。 2. 配置SpringMVC:在Spring的配置文件(如spring-servlet.xml)中,添加...
SSM(Spring、SpringMVC、MyBatis)是一个经典的Java web开发框架组合,广泛应用于企业级应用...在实际开发中,还可以结合其他工具和框架,如Hibernate、Spring Boot、Apache Tiles等,来进一步增强应用的功能和性能。
2. 配置Spring MVC:在`springmvc-servlet.xml`配置文件中,我们需要配置一个视图解析器,例如`UrlBasedViewResolver`,然后为Tiles设置一个特定的视图解析器,如`TilesViewResolver`。这样,Spring MVC就能识别并...
在实际项目中,通常会配合其他组件,如Apache Tiles进行视图管理,Hibernate或JPA进行更高级的ORM,以及Spring Security进行权限控制。 总的来说,SpringMVC+Spring+Mybatis框架组合提供了完整的MVC设计模式解决...
它整合了多种开源技术,如Freemarker和Tiles,为视图层提供了更多的选择。Struts2还支持国际化和主题,增强了用户体验。 5. **Hibernate**: Hibernate 是一个对象关系映射(ORM)框架,它简化了Java应用与数据库...
Struts是Apache软件基金会旗下的一款开源Java Web框架,主要用于构建基于MVC(Model-View-Controller)模式的Web应用程序。这个“级好的stucts入门实例程序”包含了一系列基础的Struts框架应用和相关的知识点,适合...