`
y806839048
  • 浏览: 1106917 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

tiles装饰集成

 
阅读更多

一般一个系统一个装饰即可,但是有些,模块又有自己的装饰需要,这时可以大的用装饰,局部模块用include的方式

tiles装饰集成:

pom.xml中

<tiles.version>3.0.1</tiles.version>

<dependency>

<groupId>org.apache.tiles</groupId>

<artifactId>tiles-extras</artifactId>

<version>${tiles.version}</version>

</dependency>

<dependency>

<groupId>org.apache.tiles</groupId>

<artifactId>tiles-servlet</artifactId>

<version>${tiles.version}</version>

</dependency>

<dependency>

<groupId>org.apache.tiles</groupId>

<artifactId>tiles-jsp</artifactId>

<version>${tiles.version}</version>

</dependency>

 

 

springMvc配置文件中:

<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">

<property name="definitions">

<list>

<value>/WEB-INF/tiles/tiles.xml</value>

</list>

</property>

</bean>

<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="1" p:viewClass="org.springframework.web.servlet.view.tiles3.TilesView"/>

 

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/views/" p:suffix=".jsp" p:order="2"/>

 

        <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">//符合解析器要定义顺序(数据格式),前面两个是映射规则

<property name="order" value="3" />

<property name="defaultViews">

<list>

 

<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"/>

</list>

</property>

</bean>

 

tiles配置文件://路劲映射方式操作模板,name为controller返回的规则,*号为占位符对应{1}{2},不符合这个规则的返回则是独立弹出的页面,没有装饰,如登录,注册等

<?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.definition" template="/WEB-INF/views/layout.jsp">

<put-attribute name="title" value="" />

<put-attribute name="header" value="/WEB-INF/views/frame/top.jsp" />

<put-attribute name="body" value="" />

<put-attribute name="footer" value="/WEB-INF/views/frame/foot.jsp" />

</definition>

 

<definition name="*.p" extends="base.definition">

<put-attribute name="title" value="用户注册" />

<put-attribute name="body" value="/WEB-INF/views/{1}.jsp" />

</definition>

 

    <definition name="*/*.p" extends="base.definition">

        <put-attribute name="body" value="/WEB-INF/views/{1}/{2}.jsp" />

    </definition>

    <definition name="*/*/*.p" extends="base.definition">

        <put-attribute name="body" value="/WEB-INF/views/{1}/{2}/{3}.jsp" />

    </definition>

    

</tiles-definitions>

 

 

jsp模板:

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

<html> 

<head> 

 

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

 

<title><tiles:insertAttribute name="title" ignore="true" /></title> 

 

</head> 

 

<body > 

 

<tiles:insertAttribute name="header" /> 

<tiles:insertAttribute name="body" />

<tiles:insertAttribute name="footer" /> 

 

 </body> 

 </html> 

 

 

 java

 controller:优先检查titles规则,不符合就用用springmvc的映射规则(p:order="1",p:order="2")

 @RequestMapping("registerUI")

public String cRegisterUI(Model model) {

return "firm/companyReg.p";

}

 

 

@RequestMapping(value = "/firmRegister", method = RequestMethod.GET)

public String home(Model model) {

 

return "firm/firmRegister";

}

分享到:
评论

相关推荐

    使用sitemesh替换tiles2,spring mvc+spring web flow+sitemsh

    在本文中,我们将探讨如何将Tiles2替换为Sitemesh,以实现更灵活和高效的页面装饰功能。这主要针对Spring MVC和Spring Web Flow的集成环境。 首先,让我们了解两者的基本概念。Tiles2是一个基于Struts的框架,它...

    struts2+spring2+hibernate3+velocity+sitemesh集成框架代码

    它还与许多其他框架如Spring、Tiles等有良好的集成。 2. **Spring2**:Spring是一个全面的Java应用框架,核心特性包括依赖注入(DI)和面向切面编程(AOP)。它简化了Java EE开发,通过管理对象的生命周期和配置,...

    sitemesh布局知识点汇总

    - **属性体系**:Sitemesh提供了一套功能丰富的属性体系,支持构建更为复杂和灵活的装饰器,而Struts Tiles在这方面的支持相对有限。 #### 三、Sitemesh的基本原理 当用户请求某个页面时,Sitemesh的工作流程如下...

    struts2+spring +hibernate 整合应用实现用户登陆。

    与Struts1.x中常用的Tiles框架相比,SiteMesh配置更为简洁,能够方便地为所有请求添加装饰。 **整合步骤:** 在整合Struts2、Spring和Hibernate时,通常会遵循以下步骤: 1. **创建项目环境** 使用像MyEclipse...

    Struts2

    此外,Struts2还集成了许多流行的技术,如Spring、Hibernate、Tiles等,简化了集成工作。 在源码层面,Struts2的设计遵循了OOP原则,使用了大量设计模式,如工厂模式、单例模式、装饰器模式等,增强了框架的可扩展...

    spring-framework-3.1.0.CI-1162.zip

    10. **MVC 插件**:Spring MVC 还支持多种插件,如 Tiles、SiteMesh 等,用于页面布局和装饰。 在实际开发中,开发者通常会结合其他 Spring 组件,如 Spring Data(用于数据库操作)、Spring Security(用于安全...

    java笔记 资料收藏大师

    Struts1的核心组件包括Action、ActionForm、DispatcherServlet(Tiles)、配置文件(struts-config.xml)等。理解Struts2的模型驱动、拦截器、OGNL表达式语言以及Action与Result的概念也是很重要的。 3. **SSH整合**...

    Java方向面试题,超全的。

    - **设计模式**:常见的设计模式如单例、工厂、观察者、装饰器等的应用。 2. **J2EE(Java Enterprise Edition)进阶** - **Servlet与JSP**:理解HTTP协议,掌握Servlet生命周期,以及JSP页面的执行过程。 - **...

    windows 8式样html模板

    这种模板以其独特的“磁贴”(Live Tiles)界面而知名,这种界面风格以方形或矩形的模块化布局为特点,展现出简洁、新潮且富有动态感的设计风格。在网页设计中,它能够为用户提供直观的导航体验,同时也赋予了网站更...

    springmvc学习demo

    Spring MVC 可以与 Hibernate 集成,通过 DAO(数据访问对象)层将业务逻辑和数据操作解耦。在整合过程中,通常会创建 Hibernate SessionFactory 和 HibernateTemplate,用于管理数据库事务和执行 SQL 查询。 2. **...

    WP7交互特性浅析及APP设计探究

    - **无缝集成**:通过Live Tiles和Hubs等机制,实现了与其他微软服务(如Xbox Music、Xbox Video、Office等)的无缝集成。 - **社交网络整合**:内置Facebook、Twitter等社交网络的集成,让用户能够轻松管理自己的...

    struts2.1.6 源代码

    通过深入研究Struts2.1.6的源代码,开发者可以学习到如何设计和实现一个高效、可扩展的MVC框架,理解其设计模式,如工厂模式、装饰者模式、责任链模式等,并能更好地利用框架提供的功能,提高开发效率。同时,对源...

    Windows_Phone_7cn.rar_metro_metro ui_phone

    - **清晰性(Clarity)**:设计应简洁明了,避免过多装饰,确保信息易于理解和解读。 - **深度(Depth)**:通过层次结构展示信息,使用户能感知到内容的层级关系。 - **响应性(Responsiveness)**:应用应快速...

    ProgrammingMetroStyle:Matthew Baxter-Reynolds的“使用Windows 8编程Metro风格的应用程序”书的源代码存储库-windows source code

    7. **Live Tiles和通知**:Windows 8的动态磁贴是 Metro 风格的一大特色,开发者需要了解如何创建和更新Live Tiles,以及发送本地和推送通知。 8. **多语言支持**:为了适应全球用户,应用应提供多语言支持,这涉及...

    java相关的面试题

    9. **设计模式**:面试者需要熟悉常见的设计模式,如单例、工厂、装饰器、代理等,并能给出实际应用例子。 10. **Spring框架**:Spring的核心模块,如IoC容器、AOP、MVC等,以及Spring Boot和Spring Cloud的相关...

    瓷砖

    【压缩包子文件的文件名称列表】"tiles-master"通常代表这是项目的主分支或者源代码仓库,"master"是Git版本控制系统中的默认分支名,通常存放着最新的、稳定的代码。这个目录可能包括以下部分: 1. **源代码**:...

Global site tag (gtag.js) - Google Analytics