Apache Tiles3整合SpringMvc
来源:互联网 发布:办公软件的运用 编辑:程序博客网 时间:2024/06/05 03:51
SpringMVC整合Tiles3,基于Maven构建,Bootstarp做前台页面呈现尽管做的相对简陋。菜单可以切换两种布局方式(用继承以及覆盖解释如何换汤不换药)
下面的项目实战我们也用到了通配符以简化定义,在普通的springMVC集成Tiles工程里通配符的使用可能类似下面这样:
<definition name="tiles/*" extends="base.definition"> <!-- {1}:通配符方式简化定义 --> <put-attribute name="content" value="/WEB-INF/views/{1}.jsp"/> </definition>然而,当我们用springMVC整合Tiles时在springMVC配置文件中启用了complete-autoload导致通配符的使用方式需要做些改进(配置监听器的方式不会出现此问题):
<definition name="WILDCARD:tiles/*" extends="base.definition"> <!-- {1}:通配符方式简化定义 --> <put-attribute name="content" value="/WEB-INF/views/{1}.jsp"/> </definition>
核心xml文件:
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><!-- 基本布局页面 --><!-- 如果还有尚未填充的Attribute,这被称作抽象定义(abstract definition),它可以被其他Definition继承以实现布局复用,或者也可以在运行时填充这些Attribute,是否填充是可选的。本例中layout.jsp页面中尚未填充的属性为<tiles:insertAttribute name="content" /> --><definition name="base.definition" template="/WEB-INF/views/layout/layout.jsp"><put-attribute name="nav" value="/WEB-INF/views/layout/nav.jsp" /><put-attribute name="title" value="All of the stars"/></definition><!-- =========================================== 定义的继承 ========================================================================== --><!-- Definition extension: a definition can inherit from another definition, to reuse an already made (abstract or not) definitionextends:类似Java的继承,抽象定义、继承、覆盖。(覆盖有两种形式:覆盖Template和覆盖Attribute)我们用了通配符简化定义,为什么在属性name前附加“WILDCARD:”前缀?因为例子启用了Tiles的高级特性以支持更复杂的通配符情形,如果不需要使用高级特性(详见springMVC配置文件completeAutoload)则默认情况下无需添加此前缀。详见http://tiles.apache.org/framework/tutorial/advanced/wildcard.html --><definition name="WILDCARD:tiles/*" extends="base.definition"><!-- {1}:通配符方式简化定义 --><put-attribute name="content" value="/WEB-INF/views/{1}.jsp"/></definition><!-- 覆盖Template --><definition name="WILDCARD:tiles2/*" extends="base.definition" template="/WEB-INF/views/layout/layout2.jsp"><!-- 覆盖Attribute --><put-attribute name="nav" value="/WEB-INF/views/layout/nav2.jsp" /><put-attribute name="content" value="/WEB-INF/views/{1}.jsp"/></definition><!-- ============================================================================================================================= --></tiles-definitions>对tiles.xml文件进行分析:
其中:这是基本布局页面
<!-- 基本布局页面 -->
<!--
如果还有尚未填充的Attribute,这被称作抽象定义(abstract definition),它可以被其他Definition继承以实现布局复用,或者也可以在运行时填充这些Attribute,是否填充是可选的。
本例中layout.jsp页面中尚未填充的属性为<tiles:insertAttribute name="content" />
-->
<definition name="base.definition" template="/WEB-INF/views/layout/layout.jsp">
<put-attribute name="nav" value="/WEB-INF/views/layout/nav.jsp" />
<put-attribute name="title" value="All of the stars"/>
</definition>
下面就是定义的继承(根据相对应的方法的返回值,来改变的)
<definition name="WILDCARD:tiles/*" extends="base.definition">
<!-- {1}:通配符方式简化定义 -->
<put-attribute name="content" value="/WEB-INF/views/{1}.jsp"/>
</definition>
<!-- 覆盖Template -->
<definition name="WILDCARD:tiles2/*" extends="base.definition" template="/WEB-INF/views/layout/layout2.jsp">
<!-- 覆盖Attribute -->
<put-attribute name="nav" value="/WEB-INF/views/layout/nav2.jsp" />
<put-attribute name="content" value="/WEB-INF/views/{1}.jsp"/>
</definition>
在web.xml中:
<!-- welcome-file-list是一个配置在web.xml中的一个欢迎页,用于当用户在url中输入工程名称或者输入web容器url(如http://localhost:8080/)时直接跳转的页面或要执行的方法. --><welcome-file-list><welcome-file>better/p/home</welcome-file></welcome-file-list>
代码下载:代码下载
参考:http://blog.csdn.net/cocoa_cactus/article/details/50885932
- Apache Tiles3整合SpringMvc
- struts2 maven整合tiles3
- springmvc4 整合 tiles3
- spring整合tiles3简单介绍和使用
- SpringMVC+Apache Shiro+JPA 整合
- Springmvc整合Apache Shiro 权限控制。
- springmvc整合apache-poi实现数据下载
- org.apache.ibatis.binding.BindingException spring springMVC mybatis 整合
- springmvc整合Apache tiles基于java配置的demo
- tiles3 & spring
- J2ee项目从0搭建进阶(一):springmvc 集成 tiles3实现页面模板
- springmvc整合
- 整合SpringMVC
- springMVC整合
- SpringMVC-整合Spring整合
- springmvc+mybatis整合springmvc
- SpringMVC+Apache Shiro+JPA(hibernate)案例教学(一)整合配置
- 将 Shiro 作为应用的权限基础 五:SpringMVC+Apache Shiro+JPA(hibernate)整合配置
- linux c下,从路径名中分离文件名
- 在JS写的HTML标签当中无法传递对象,或者是数组
- 2017.12.15笔记
- 字符串格式化
- os-在使用git log时如何退出当前界面
- Apache Tiles3整合SpringMvc
- hdu 2222 Keywords Search ( AC 自动机)
- Mac 屏幕录制转gif、MP4转gif、Android Studio录制转GIF动态效果图(超简单)
- android studio布局种类
- CentOS 7 上systemctl 的用法(6.5上的service)
- windows32位系统 安装MongoDB
- ExecutorService 的理解与使用
- 关于特征提取时用cv2.imread()和caffe.io.load_image()读图像的差别
- jquery动态添加图片路径不刷新问题