`
byf157
  • 浏览: 207955 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

搭建Struts2 与 Tiles 框架整合示例

    博客分类:
  • java
阅读更多

搭建Struts2 与 Tiles 框架整合示例

 

 

环境:MyEclipse 8.5 + TOMCAT6 +JDK1.6
一、新建web工程。例如:s2tile2。
二、使用向导添加Struts2.1功能:
引入Struts 2 Core Libraries和Struts 2 Tiles Libraries两个类库包。

三、新建s2tile2\WebRoot\index.jsp文件,内容如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
    <a href="go.action">test</a>
  </body>
</html>


四、修改s2tile2\WebRoot\WEB-INF\web.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>

 

 <listener>
  <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
 </listener>
 <context-param>
  <param-name>org.apache.tiles.CONTAINER_FACTORY</param-name>
  <param-value>
      org.apache.struts2.tiles.StrutsTilesContainerFactory
    </param-value>
 </context-param>

 <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.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>*.action</url-pattern>
 </filter-mapping>
</web-app>

五、修改s2tile2\src\struts.xml,内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
 <package name="default" extends="tiles-default">
  <action name="go" class="com.action.MyAction">
   <!--result name="success">/next.jsp</result-->
   <result name="success" type="tiles">myapp.homepage</result>
  </action>
 </package>
</struts>   

六、建立s2tile2\src\com\action\MyAction.java类,内容如下:
package com.action;
import com.opensymphony.xwork2.ActionSupport;
public class MyAction extends ActionSupport{
 public String execute() throws Exception {
  super.execute();
  System.out.println("MyAction execute something ...");
  return SUCCESS;
 }
}

七、新建s2tile2\WebRoot\WEB-INF\tiles.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
 <definition name="myapp.homepage" template="layout.jsp">
  <put-attribute name="title" value="Tiles tutorial homepage" />
  <put-attribute name="header" value="/tiles/header.jsp" />
  <put-attribute name="menu" value="/tiles/menu.jsp" />
  <put-attribute name="body" value="/tiles/cBody.jsp" />
  <put-attribute name="footer" value="/tiles/footer.jsp" />
 </definition>
</tiles-definitions>

八、从Struts 2 Tiles Libraries中的tiles-jsp-2.0.6.jar包中的META-INF\tld中的tiles-jsp.tld文件释放到s2tile2\WebRoot\WEB-INF\tiles-jsp.tld目录下。

九、新建s2tile2\WebRoot\layout.jsp文件,内容如下:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="/WEB-INF/tiles-jsp.tld" prefix="tiles"%>
<html>
    <head>
       <title></title>
    </head>
    <body>
       <table width="768px" height="800px" border="2" align="center">
           <tr>
              <td colspan="2" align="center" valign="top" width="768px" height="100px" bgcolor="#80ff80">
                  <tiles:insertAttribute name="header" />
              </td>
           </tr>
           <tr>
              <td align="center" width="150px" height="800px" bgcolor="#00ff00">
                  <tiles:insertAttribute name="menu" />
              </td>
              <td align="right" width="618px" height="800px" bgcolor="#ff80c0">
                  <tiles:insertAttribute name="body" />
              </td>
           </tr>
           <tr>
              <td colspan="2" bgcolor="#00ff40" height="100px">
                  <tiles:insertAttribute name="footer" />
              </td>
           </tr>
       </table>
    </body>
</html>

 

标签说明:

1、<tiles:insertAttribute name="body" />:返回"body"对应的页面的内容信息。

2、<tiles:getAsString name="body" />:返回"body"对应的值,即路径信息。

 

十、依次新建下列文件:
s2tile2\WebRoot\tiles\cBody.jsp、
s2tile2\WebRoot\tiles\footer.jsp、
s2tile2\WebRoot\tiles\header.jsp、
s2tile2\WebRoot\tiles\menu.jsp,
以上文件内容任意,仅用于测试。

十一、发布测试:OK。

 

分享到:
评论

相关推荐

    搭建基础Struts2开发环境的必需jar包,如需完整的文件请移步官网下载

    9. **struts2-tiles-plugin.jar**(如果使用Tiles):整合Struts2与Tiles框架,方便布局和复用视图。 除此之外,还需要Servlet容器相关的jar,如servlet-api.jar和jsp-api.jar,因为Struts2是基于Servlet和JSP的。...

    第一节 搭建struts2环境

    在本节中,我们将深入探讨如何搭建Struts2开发环境,这是Java Web应用程序开发中的一个关键...在实际开发中,还可以探索更多高级特性,如Struts2的国际化、主题和样式,以及与其他框架(如Spring、Hibernate)的整合。

    struts2全套jar包

    总的来说,“struts2全套jar包”包含了所有运行Struts2框架所必需的组件,便于开发者快速搭建和运行基于Struts2的Java Web应用。在实际开发中,开发者需要根据项目需求,选择合适的jar包,并结合相关文档和示例,...

    北大青鸟ACCP6.0 第三学期 Y2 JAVA方向 struts2框架

    8. **Struts2与其他技术的整合**:如Hibernate ORM框架的集成,实现数据持久化;或者与Spring框架的结合,实现更高级的依赖注入和事务管理。 通过以上知识点的学习,学员不仅能够掌握Struts2框架的使用,还能进一步...

    struts课件ppt版本的

    Struts通常与Tiles框架结合使用,用于页面布局。Tiles允许开发者定义可重用的页面组件,通过模板化的方式组合成复杂的应用界面,提高了UI设计的灵活性。 六、国际化与本地化 Struts支持国际化的处理,通过资源文件...

    struts-2.3.30-all

    8. `struts2-tiles-plugin-2.3.30.jar`:与Tiles框架的集成插件,用于布局管理。 9. `struts2-plugins`目录:包含其他各种插件,如REST、Freemarker、i18n等支持。 10. `webapp`目录:可能包含示例应用或者Web应用...

    struts2专用包.rar

    通常,这样的压缩包会帮助开发者快速搭建Struts2项目环境,或者提供解决特定问题的解决方案。 压缩包子文件的文件名称列表提到了"struts2专用包2.rar"和"struts2专用包1.rar"。这可能是两个不同的版本或不同内容的...

    Struts2零配置

    它整合了其他优秀框架,如Freemarker、Tiles、OGNL(Object-Graph Navigation Language)等,提供强大的视图渲染和数据绑定功能。 **二、零配置概念** "零配置"并不意味着完全不写任何配置,而是尽可能地利用Java...

    struts2 doc

    11. **Tiles**: 虽然Struts2本身不直接集成Tiles,但可以通过配置来整合Tiles2框架,实现更复杂的页面布局。 12. **Maven集成**: Struts2提供Maven插件,方便在Maven项目中快速搭建和管理Struts2应用。 在“struts...

    struts+spring+hibernate

    这个"struts+spring+hibernate"示例工程是用于演示这三大框架如何协同工作,为开发者提供了一个实战性的学习平台。 Struts 是一个基于 Model-View-Controller(MVC)设计模式的Web应用框架,它主要负责处理用户请求...

    struts2代码

    最后一天,课程可能涉及Struts2与其他技术的集成,比如Spring框架的整合,这可以增强应用的依赖注入能力,提高代码的可测试性。此外,你还将学习如何利用Struts2的插件机制,如Tiles插件来管理复杂的页面布局,或者...

    struts2资料

    7. **插件和整合**:Struts2支持多种插件,如Tiles、Freemarker等,手册会讲述如何集成这些插件以增强功能。 8. **异常处理**:包括全局异常处理和Action级别的异常处理,以及如何定制错误页面。 9. **最佳实践**:...

    Struts2完全学习手册书中源代码第1-10章

    10. **第10章**:可能涉及到Struts2与Spring的整合,展示了如何在Struts2应用中使用Spring来管理依赖和事务。源代码会展示Spring配置文件和Action类的注解方式。 通过这些章节的源代码,读者可以深入理解Struts2...

    javaweb主流框架整合开发strutstest例子

    Struts1Test这个压缩包很可能是提供了一个关于如何整合开发Struts1框架的实际示例。在Java Web应用程序开发中,Struts1框架帮助开发者构建可维护性、可扩展性和结构清晰的Web应用。 Struts1框架的核心组成部分包括...

    Struts2基础学习44课时的笔记分享

    这个框架是Apache软件基金会的产品,它整合了多种其他框架的功能,如WebWork、Tiles和Commons等,为开发者提供了一种高效、灵活的开发方式。 在"Struts2基础学习44课时的笔记分享"中,你可以期待学习到以下几个关键...

    struts2.2.1apps

    Struts2.2.1 Apps 是一套基于Apache Struts 2.2.1版本的示例应用程序集合,这些示例旨在帮助开发者更好地理解和学习Struts2框架的核心功能和使用方式。Struts2是一个流行的Java Web应用程序框架,它提供了一种模型-...

    精通Struts:基于MVC的JavaWeb设计与开发(孙卫琴)

    此外,还会讲解Struts与Spring、Hibernate等其他流行框架的整合,形成强大的企业级应用解决方案。 在实际开发中,书中可能提供了"helloapp.rar"这个示例项目,用于演示基本的Struts应用搭建和运行过程。...

    ssh框架搭建源码

    通过这份源码,你可以深入理解SSH框架的运作机制,学习如何将这三大框架整合在一起,形成一个完整的工作流。这不仅有助于提升你的Java Web开发技能,还能让你更好地应对实际项目中的挑战。记住,实践是最好的老师,...

    struts+ibatis 完整sample,可直接运行

    这个示例项目可以帮助你深入理解Struts和iBatis的整合使用,学习如何在实际项目中搭建MVC架构,处理用户请求,以及高效地进行数据库操作。同时,它也提供了可以直接运行的基础代码,方便你在本地进行调试和学习,...

    struts经典课件

    在学习过程中,"安装手册"将指导你如何搭建Struts开发环境,确保你能顺利运行示例程序。同时,课件中的例子和练习题是理解和掌握Struts的关键,应仔细研究并动手实践。通过这个"struts经典课件",你将能够快速上手...

Global site tag (gtag.js) - Google Analytics