`
sillycat
  • 浏览: 2552241 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

tiles2的布局管理(二)struts2+tiles2

    博客分类:
  • JAVA
阅读更多
tiles2的布局管理(二)struts2+tiles2

official web site
http://tiles.apache.org/

the document is here
http://tiles.apache.org/framework/index.html

Since spring is not used in our project, so we manage tiles like this.

configuration file web.xml:
<context-param>
<param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
<param-value>/WEB-INF/tiles.xml</param-value>
</context-param>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<listener>
<listener-class>
org.apache.struts2.tiles.StrutsTilesListener
</listener-class>
</listener>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

since we do not use spring here, so the properties file only leaving the struts config, struts.properties:
struts.i18n.encoding=utf-8
#dev mode flag
struts.devMode=true
struts.action.extension=do

I never changed the tiles.xml file:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
        "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
        "http://struts.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>  
    <definition name="base.definition" template="/layout/layout.jsp"> 
        <put-attribute name="title"  value="当前客户起始页面"/> 
        <put-attribute name="banner"  value="/content/top.jsp"/> 
        <put-attribute name="menu"  value="/content/menu.jsp"/> 
        <put-attribute name="sidebar"  value="/content/sidebar.jsp"/> 
        <put-attribute name="hintbar"  value="/content/error.jsp"/> 
        <put-attribute name="body"  value="/screen/body.jsp"/> 
    </definition> 
    <definition name="index.definition" extends="base.definition">  
        <put-attribute name="body" value="/screen/index.jsp"/>  
    </definition>
</tiles-definitions>  

and I change the struts.xml to use java bean instead of spring bean:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="testp" namespace="/testn" extends="tiles-default">
<action name="hello" method="hello"
class="com.sillycat.easytiles.action.HelloAction">
<result name="hello" type="tiles">base.definition</result>
</action>
<action name="ads" method="ads"
class="com.sillycat.easytiles.action.HelloAction">
<result name="hello" type="tiles">index.definition</result>
</action>
</package>
</struts>

and the action is extends from ActionSupport, not spring controller, HelloAction.java:
package com.sillycat.easytiles.action;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class HelloAction extends ActionSupport{
private static final long serialVersionUID = -9057233877588668059L;
private Map<String, Object> request;
private Map<String, Object> session;
private Map<String, Object> application;
private String ctx = null;
public String getCtx() {
if (ctx == null) {
HttpServletRequest request = ServletActionContext.getRequest();
ctx = request.getScheme() + "://" + request.getServerName() + ":"
+ request.getServerPort();
ctx += request.getContextPath();
}
return ctx;
}
@SuppressWarnings("unchecked")
public String hello() {
request = (Map) ActionContext.getContext().get("request");
session = ActionContext.getContext().getSession();
application = ActionContext.getContext().getApplication();
request.put("request1", "request-test2");
session.put("session1", "session-test2");
application.put("application1", "application-test2");
return "hello";
}
@SuppressWarnings("unchecked")
public String ads() {
request = (Map) ActionContext.getContext().get("request");
session = ActionContext.getContext().getSession();
application = ActionContext.getContext().getApplication();
request.put("request1", "request-test1");
session.put("session1", "session-test1");
application.put("application1", "application-test1");
ctx = "http://sillycat.iteye.com";
return "hello";
}
}

nothing special, we still use this url to visit our pages.
<a href="testn/testp/hello.do">hello</a><br />
<a href="testn/testp/ads.do">ads</a><br />

everything runs well.
分享到:
评论

相关推荐

    struts2.2+velocity+tiles+spring3+mybatis3.05整合

    总之,"struts2.2+velocity+tiles+spring3+mybatis3.05整合"实例展示了Java Web开发中的典型技术栈集成,为开发者提供了高效、稳定的开发环境,有助于提升项目开发的速度和质量。通过学习和实践这个实例,开发者可以...

    Struts2+Tiles

    Struts2是基于MVC(Model-View-Controller)设计模式的开源框架,而Tiles则是Struts2的一个视图层扩展,它提供了一种方式来组织和重用页面布局,使得页面设计更加模块化。 Struts2框架的核心特性包括: 1. **Action...

    tiles+struts2

    将Tiles与Struts2结合使用,可以更有效地管理和组织网页布局,实现复杂的页面结构和重用内容。在本篇文章中,我们将深入探讨如何在Struts2中集成Tiles框架,以及如何利用它来展示信息。 首先,我们来理解一下Tiles...

    tiles+struts2配置文件

    在Java Web开发中,Struts2是一个非常流行的MVC(模型-视图-控制器)框架,而Tiles则是用于构建复杂的Web页面布局的框架。这两者的结合可以极大地提高开发者的工作效率和应用的用户体验。本篇文章将深入探讨如何在...

    struts2标签+ tiles lib

    Tiles库则是Struts2中的一个强大的视图管理组件,用于组织和重用页面布局。本文将深入探讨Struts2标签和Tiles库的使用,以及它们在实际开发中的应用。 1. **Struts2标签** Struts2提供了丰富的标签库,这些标签...

    Struts+hibernate+spring+tiles+validator的整合

    Struts 是一个用于构建 MVC(模型-视图-控制器)架构的应用框架,Hibernate 是一个对象关系映射(ORM)工具,Spring 提供了一个全面的企业级应用开发框架,而 Tiles 主要用于页面布局和视图管理。 **Struts框架**:...

    Struts2 tiles操作例子

    而tiles插件则为Struts2提供了强大的页面布局管理功能,使得开发者能够更容易地管理和复用页面布局。 ### 1. Struts2与tiles插件简介 Struts2的核心优势在于其灵活性和可扩展性,它允许开发者使用各种不同的技术来...

    struts2 + spring + tiles + log4j blank framewotk

    Struts2、Spring、Tiles和Log4j是Java Web开发中的四大核心框架,它们共同构建了一个强大且灵活的基础架构,适用于构建复杂的企业级应用程序。以下将详细解释这四个框架及其在实际开发中的应用。 **Struts2框架**:...

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

    4. **Tiles布局(Layout)** 布局是定义的一种特殊形式,它定义了页面的整体框架,通常包括页头、主体、页脚等部分。页面内容可以通过引用不同的定义来填充布局的不同部分。 5. **Tiles配置(Configuration)** ...

    struts2.0 + tiles配置案例源码

    3. **Action结果映射**:在Action类的execute方法中,返回一个Tiles定义的名称,Struts2会根据这个名称找到对应的布局和内容进行渲染。 4. **JSP页面**:使用Tiles标签库在JSP页面中引用组件,如`&lt;tiles:insert...

    struts2 tiles2 配置例子

    首先,`tiles2`是Apache Tiles框架的一个版本,它允许开发者定义和管理Web应用中的页面布局。Tiles2通过模板和组件的方式,让开发者可以创建可复用的页面部分,从而提高开发效率并保持代码的整洁。 **Step1: 导入...

    Struts1-tiles标签

    Struts1中的Tiles标签库是一种强大的布局管理工具,旨在提高Web应用的可重用性、可扩展性和可维护性。Tiles框架是Apache Software Foundation发起的一个开源项目,它为开发者提供了创建复合式网页的能力,允许在运行...

    Struts2与tiles集成示例

    通过Struts2和Tiles的集成,开发者可以更方便地管理页面结构,实现页面的复用和模块化。同时,Struts2的Action和Interceptor机制能够很好地控制业务流程,两者结合可以提供一套强大的Web应用开发解决方案。记住,...

    struts2集成tiles2.myeclipse10教程

    总结一下,集成Struts2和Tiles2的关键步骤包括:引入依赖库、配置Struts2和Tiles2的配置文件、定义页面布局和组件、在Action中返回Tiles定义名。通过这种方式,开发者可以更好地组织和管理Web应用的视图部分,同时...

    struts2+hibernate3.3图书管理系统

    4. **Tiles插件**:用于创建复杂的布局,可复用的页面片段,便于构建大型应用。 5. **国际化(i18n)**:Struts2支持多语言,通过资源包轻松实现不同语言的切换。 Hibernate的核心概念包括: 1. **实体(Entity)...

    struts2 tiles 模板搭建源码可运行

    Tiles是Struts2的一个插件,它提供了一种强大的布局和页面组装机制,使得开发者可以创建复杂的Web页面结构。这个压缩包文件包含了使用Struts2和Tiles框架搭建的模板源码,便于学习和参考。 在Struts2中,Tiles框架...

    Struts2中使用Tiles组件

    而Tiles是Struts2的一个重要组成部分,它允许开发者将多个页面组合成一个复杂的页面布局,实现了视图的重用和模块化。在Struts2中使用Tiles组件,可以更有效地管理和构建动态Web应用的用户界面。 首先,我们需要...

    struts2.0 整合tiles 配置

    将Struts2与Tiles结合使用,可以更加灵活地管理页面结构,实现统一的页面风格,提高开发效率。 #### 二、所需JAR包 首先,为了能够成功地整合Struts2与Tiles,我们需要确保项目的类路径中包含以下JAR包: 1. **...

    tiles+servlet简单例子

    【描述】"没有集成struts,单纯的tiles+servlet"意味着这个例子专门关注Tiles和Servlet的整合,不涉及Struts的控制器层。Servlet是Java Web开发中的基础组件,负责处理HTTP请求并生成响应。在这个场景下,Servlet将...

    Spring3 mvc集成Tiles2

    Tiles2 是 Apache Struts 项目的一部分,它提供了一个模板定义语言,允许开发者定义页面布局,并通过定义好的模板来组装页面。Tiles 模板可以包含静态内容、动态内容或者其他的 Tiles 定义,这使得我们可以创建复杂...

Global site tag (gtag.js) - Google Analytics