一般一个系统一个装饰即可,但是有些,模块又有自己的装饰需要,这时可以大的用装饰,局部模块用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";
}
相关推荐
在本文中,我们将探讨如何将Tiles2替换为Sitemesh,以实现更灵活和高效的页面装饰功能。这主要针对Spring MVC和Spring Web Flow的集成环境。 首先,让我们了解两者的基本概念。Tiles2是一个基于Struts的框架,它...
它还与许多其他框架如Spring、Tiles等有良好的集成。 2. **Spring2**:Spring是一个全面的Java应用框架,核心特性包括依赖注入(DI)和面向切面编程(AOP)。它简化了Java EE开发,通过管理对象的生命周期和配置,...
- **属性体系**:Sitemesh提供了一套功能丰富的属性体系,支持构建更为复杂和灵活的装饰器,而Struts Tiles在这方面的支持相对有限。 #### 三、Sitemesh的基本原理 当用户请求某个页面时,Sitemesh的工作流程如下...
与Struts1.x中常用的Tiles框架相比,SiteMesh配置更为简洁,能够方便地为所有请求添加装饰。 **整合步骤:** 在整合Struts2、Spring和Hibernate时,通常会遵循以下步骤: 1. **创建项目环境** 使用像MyEclipse...
此外,Struts2还集成了许多流行的技术,如Spring、Hibernate、Tiles等,简化了集成工作。 在源码层面,Struts2的设计遵循了OOP原则,使用了大量设计模式,如工厂模式、单例模式、装饰器模式等,增强了框架的可扩展...
10. **MVC 插件**:Spring MVC 还支持多种插件,如 Tiles、SiteMesh 等,用于页面布局和装饰。 在实际开发中,开发者通常会结合其他 Spring 组件,如 Spring Data(用于数据库操作)、Spring Security(用于安全...
Struts1的核心组件包括Action、ActionForm、DispatcherServlet(Tiles)、配置文件(struts-config.xml)等。理解Struts2的模型驱动、拦截器、OGNL表达式语言以及Action与Result的概念也是很重要的。 3. **SSH整合**...
- **设计模式**:常见的设计模式如单例、工厂、观察者、装饰器等的应用。 2. **J2EE(Java Enterprise Edition)进阶** - **Servlet与JSP**:理解HTTP协议,掌握Servlet生命周期,以及JSP页面的执行过程。 - **...
这种模板以其独特的“磁贴”(Live Tiles)界面而知名,这种界面风格以方形或矩形的模块化布局为特点,展现出简洁、新潮且富有动态感的设计风格。在网页设计中,它能够为用户提供直观的导航体验,同时也赋予了网站更...
Spring MVC 可以与 Hibernate 集成,通过 DAO(数据访问对象)层将业务逻辑和数据操作解耦。在整合过程中,通常会创建 Hibernate SessionFactory 和 HibernateTemplate,用于管理数据库事务和执行 SQL 查询。 2. **...
- **无缝集成**:通过Live Tiles和Hubs等机制,实现了与其他微软服务(如Xbox Music、Xbox Video、Office等)的无缝集成。 - **社交网络整合**:内置Facebook、Twitter等社交网络的集成,让用户能够轻松管理自己的...
通过深入研究Struts2.1.6的源代码,开发者可以学习到如何设计和实现一个高效、可扩展的MVC框架,理解其设计模式,如工厂模式、装饰者模式、责任链模式等,并能更好地利用框架提供的功能,提高开发效率。同时,对源...
- **清晰性(Clarity)**:设计应简洁明了,避免过多装饰,确保信息易于理解和解读。 - **深度(Depth)**:通过层次结构展示信息,使用户能感知到内容的层级关系。 - **响应性(Responsiveness)**:应用应快速...
7. **Live Tiles和通知**:Windows 8的动态磁贴是 Metro 风格的一大特色,开发者需要了解如何创建和更新Live Tiles,以及发送本地和推送通知。 8. **多语言支持**:为了适应全球用户,应用应提供多语言支持,这涉及...
9. **设计模式**:面试者需要熟悉常见的设计模式,如单例、工厂、装饰器、代理等,并能给出实际应用例子。 10. **Spring框架**:Spring的核心模块,如IoC容器、AOP、MVC等,以及Spring Boot和Spring Cloud的相关...
【压缩包子文件的文件名称列表】"tiles-master"通常代表这是项目的主分支或者源代码仓库,"master"是Git版本控制系统中的默认分支名,通常存放着最新的、稳定的代码。这个目录可能包括以下部分: 1. **源代码**:...