`

tiles3布局的几种方式(嵌入SpringMVC)

 
阅读更多

目前JSP有关的比较有名的服务端页面布局/页面组合框架要数sitemesh和tiles了,这是官方文档地址:http://tiles.apache.org/framework/tutorial/index.html

 

相比较而言tiles的应用更为具体而多样,配置可能稍微复杂,这里记录一下基本的SpringMVC(4.2.5)项目整合tiles3(3.0.7)配置和应用。

应用tiles3需要用到的相关jar包(SpringWEB项目基本包略):

tiles-api-3.0.7.jar
tiles-autotag-core-runtime-1.2.jar
tiles-core-3.0.7.jar
tiles-jsp-3.0.7.jar
tiles-request-api-1.0.6.jar
tiles-request-jsp-1.0.6.jar
tiles-request-servlet-1.0.6.jar
tiles-servlet-3.0.7.jar
tiles-template-3.0.7.jar

commons-beanutils-1.8.0.jar
commons-digester-2.0.jar

 

Spring上下文配置文件中加入启动Bean配置

	<bean id="tilesconfig"  class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
		<property name="definitions">
			<list>
				<value>/WEB-INF/layout/tiles.xml</value>				
			</list>
		</property>
	</bean>
	
	<bean id="tilesviewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
		<property name="order" value="1" />
		<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" />
	</bean>

 

建立、配置tiles视图映射文件:

这里用到了tiles配置的继承和重载(重载名为'body'的属性),框架页面为3行布局的形式。

<?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/jsp/global/basis.jsp">		
		<put-attribute name="thetitle" value="FIRST PAGE" type="string"></put-attribute>
		<put-attribute name="toper" value="/WEB-INF/jsp/global/top.jsp"></put-attribute>
		<put-attribute name="footer" value="/WEB-INF/jsp/global/bottom.jsp"></put-attribute>
		<put-attribute name="body" value="/WEB-INF/jsp/index.jsp"></put-attribute>
	</definition>
<!-- 	基本扩展 ,继承-->
	<definition name="homepage" extends="base">		
		<put-attribute name="body" value="/WEB-INF/jsp/index.jsp"></put-attribute>	
	</definition>
<!-- 	基本扩展 ,继承-->
	<definition name="userpage" extends="base">
		<put-attribute name="body" value="/WEB-INF/jsp/user/user_list.jsp"></put-attribute>
	</definition>
<!-- 	路径通配符匹配,继承 -->
	<definition name="*/*.page" extends="base">
		<put-attribute name="body" value="/WEB-INF/jsp/{1}/{2}.jsp"></put-attribute>
	</definition>


</tiles-definitions>

 

框架页basis.jsp的body内容部分(需要加入tiles标签库声明)

	<table border="0" class="" style="margin:auto;" cellpadding="0" cellspacing="0">
		<tr style="">
			<td style="line-height: 185px;">
				<tiles:insertAttribute name="toper"></tiles:insertAttribute>
			</td>			
		</tr>

		<tr>
			<td style="height: auto;min-height: 490px; height:500px;padding-top: 0;padding-left: 0; text-align: left;" valign="top">				
				<tiles:insertAttribute name="body" />
			</td>
		</tr>
		<tr>
			<td>				
				<tiles:insertAttribute name="footer"></tiles:insertAttribute>
			</td>
		</tr>		
	</table>

 

top页和footer页略。

后台java返回视图的方法:

	@RequestMapping(path="/edit",method={RequestMethod.GET})
	public String edit(Model mdl,HttpServletRequest request, HttpServletResponse response){		
		
		log.info("user/edit");		//
		return "user/user_edit.page";
	}

调试 测试访问:http://localhost:8080/projectname/XXX/edit,能看到内容页面被正确装饰即可。

 

另外,

也可以不在tiles.xml中静态配置被装饰页面和路径的映射,而直接在需要被装饰的JSP页面的body中嵌套:

加入标签库声明:

<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>

 

body中的内容被标签嵌套

<body>
<tiles:insertDefinition name="base">
	<tiles:putAttribute name="body">
	<div>
	此种情况需注意body的样式和页面的title
	........
	</div>
	</tiles:putAttribute>
</tiles:insertDefinition>
</body>

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Tiles框架入门教程示例(springmvc整合tiles)

    Tiles框架是一种用于构建Web应用程序布局的强大工具,它允许开发者将页面分解为可重用的组件,这些组件可以组合成一个完整的视图。SpringMVC是一个流行的Java Web开发框架,用于处理HTTP请求和响应。在本教程中,...

    SpringMVC4整合tiles3

    SpringMVC4与Tiles3整合教程 ...Tiles3提供了一种声明式的方式来组织和设计页面,让开发者专注于业务逻辑,而非繁琐的页面拼接。通过以上步骤,你可以在你的SpringMVC4项目中成功地集成和使用Tiles3。

    Apache Tiles3整合SpringMvc

    Apache Tiles3 是一个强大的视图框架,用于构建和管理网页应用中的页面布局。它允许开发者定义页面模板,然后通过组合这些模板来创建复杂的页面结构。Spring MVC 是一款流行的基于模型-视图-控制器(MVC)设计模式的...

    springMVC + freemarker + apache tiles

    6. 使用Tiles定义的布局,将模板文件嵌入到合适的位置。 这个项目还提到了Ibatis的简单用法,Ibatis是一个轻量级的持久层框架,它提供了SQL映射功能,将SQL语句与Java代码分离,简化了数据库操作。集成Ibatis可能...

    springmvc tiles 局部刷新

    **Tiles** 是一个视图层框架,主要用于构建和管理Web应用的页面布局。它允许开发者定义页面模板,这些模板可以由多个小的组件(或称为"tiles")组成。Tiles框架的主要优点在于它可以重用页面元素,并且支持动态组合...

    tiles3,springmvc,tags,权限控制整合Demo

    该Demo使用tiles3实现了页面区块动态改变部分布局,使用@interface实现了权限的控制,使用tags实现界面的简化以及同一界面根据user的权限不同显示的元素不同。如有疑问请q1061203621

    struts资料\Tiles框架--页面布局

    Struts Tiles框架是Java Web开发中的一个重要组成部分,主要用于构建可重用和模块化的Web应用程序页面布局。这个框架允许开发者将一个大的页面分解成多个小的、独立的部分,这些部分可以被单独设计、测试和重用,...

    SpringMVC使用tiles

    &lt;bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"&gt; &lt;value&gt;/WEB-INF/tiles-defs.xml ``` 其中,`tiles-defs.xml`是Tiles的配置文件,用于定义页面...

    springmvc与apache tiles整合demo

    通过这种方式,Spring MVC与Apache Tiles的整合能提供一种高效、灵活的页面布局解决方案,使开发者能够专注于业务逻辑,而将页面设计和结构交给Tiles管理。这个提供的"SpringApacheTiles"压缩包文件应该包含了整合...

    Tiles布局

    【Tiles布局】是一种基于Java的页面布局框架,它允许开发者将网页设计成可重用的组件,这些组件可以像拼图一样组合在一起,形成复杂的页面结构。Tiles布局最初是作为Struts框架的一部分出现的,但现在它已经成为一个...

    Maven2.0.11_SpringMVC2.5_Tiles2.0.5

    3. Tiles2.0.5:视图布局框架 Tiles是Apache Struts项目的一个子项目,用于处理Web应用的视图布局。Tiles2.0.5版本提供了更加灵活的模板定义,使得开发者可以将页面拆分为多个组件,每个组件对应一个瓷砖(Tile),...

    SpringMVC3+jsp

    - Tiles或FreeMarker等视图技术可与SpringMVC结合,实现更复杂的布局和模板。 7. **国际化与本地化**: - SpringMVC支持资源文件来实现多语言支持,通过`LocaleResolver`和`LocaleContextResolver`配置。 - `...

    springmvc 集成 tiles2实现页面模板局部刷新

    3. **创建Tiles定义**:编写一个或多个tiles.xml文件,定义页面布局和组件。每个定义都是一个模板,可以包含多个区域(或称为“tiles”),这些区域可以被不同的视图填充。 4. **局部刷新**:在Tiles2中,实现局部...

    springmvc集成 tiles2实现页面模板局部刷新

    Tiles2是一个强大的视图层框架,它允许开发者创建可重用的页面组件,并将它们组合成复杂的布局,从而简化页面设计和维护。 首先,我们需要理解Spring MVC和Tiles2的基本概念。Spring MVC是Spring框架的一部分,提供...

    cesium的3d-tiles转换工具

    3. 使用示例:具体的操作流程,从打开命令行到执行转换命令,再到检查生成的3D Tiles文件。 4. 注意事项:可能存在的限制,如文件大小、模型复杂度等,以及如何解决常见问题。 在实际应用中,3D Tiles格式能够显著...

    Spring mvc3 tiles

    **Spring MVC 3 与 Tiles 框架整合** 在Web开发中,Spring MVC和Tiles是两个非常重要的组件。Spring MVC作为一个强大的MVC框架,负责处理应用的业务逻辑和视图展示,而Tiles则是一个视图层框架,主要用于页面布局和...

    tiles3必用架包

    总的来说,Tiles3提供了一种灵活的方式来进行页面布局,通过分解和组合瓦片,实现了页面的模块化,使得维护和扩展变得更加简单。当你需要动态改变页面的某些部分时,只需更新对应的瓦片即可,而无需修改整个页面。...

    springmvc4-tiles-hibernate4.rar

    在本项目中,我们主要探讨的是如何使用Maven构建一个基于Spring MVC 4、Tiles布局框架和Hibernate 4的Web应用程序。这个项目采用完全的Java注解配置,摒弃了传统的XML配置方式,使得代码更加简洁,易于维护。以下是...

    三维瓦片数据(3d-tiles)

    三维瓦片数据(3d-tiles)是一种高效的数据组织和分发格式,广泛应用于现代地理信息系统、虚拟现实和增强现实应用中。它通过将复杂的三维模型分割成一系列金字塔层级的几何和纹理数据块,实现对大规模场景的快速加载...

    objTo3d-tiles.rar

    3D Tiles是一种基于云计算的分块结构,通过将大规模3D地理空间数据分割成小块(Tiles),实现了按需加载和动态优化,大大提升了大规模3D场景的渲染效率。这种格式特别适合在WebGL环境中显示复杂的地形、建筑物和其他...

Global site tag (gtag.js) - Google Analytics