Struts2+Tiles2框架整合

原文地址:原文地址

.基本包(6)

  1.commons-logging-1.0.4.jar

2.commons-fileupload-1.2.1.jar

  3.ognl-2.6.11.jar

  4.struts2-core-2.1.6.jar

  5.xwork-2.1.2.jar

  6.freemarker-2.3.13.jar

 

.整合tiles必须包(7)

  1.struts2-tiles-plugin-2.1.6.jar

  2.tiles-api-2.0.6.jar

  3.tiles-core-2.0.6.jar

  4.tiles-jsp-2.0.6.jar

  5.commons-digester-1.8.jar

  6.commons-collections-3.2.jar

7.commons-beanutils-1.7.0.jar

注意:一些文章认为,commons-fileupload-1.2.1.jarcommons-beanutils

-1.7.0.jar这两个包是必须的。

 

三、添加Struts 2 Tiles Libraries

Struts2+Tiles2框架整合 - 游目骋怀 - 游目骋怀

 

 

四、配置Web.xml

  <!-- tiles2.0 -->

    <listener>

       <listener-class>

           org.apache.struts2.tiles.StrutsTilesListener

       </listener-class>

    </listener>

 

<!-- Struts2 -->

……

 

五、创建模板页layout.jsp

<%@ page language="java"  pageEncoding="GBK"%>

<%@ taglib prefix="s" uri="/struts-tags" %>

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

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

  <base href="<%=basePath%>">

    <style>

#container{margin-left:auto;margin-right:auto;width:800px;}

#header{float:left;width:800px;height:150px;background:red}

#daohang{float:left;width:150px;height:400px;background:blue;word-wrap:break-word}

#right {float:right;width:642px;height:400px;background:green}

#mbottom{float:left;width:800px;height:150px;background:yellow}

    </style>

     <div id="container" style="height:auto">

       <div id="header">

           <tiles:insertAttribute name="header" />

       </div>

      

       <div id="daohang">

           <tiles:insertAttribute name="left" />

       </div>

      

       <div id="right" style="border:none">

           <tiles:insertAttribute name="main" />

       </div>

      

       <div id="mbottom" style="height:100px">

           <tiles:insertAttribute name="foot" />

       </div>

      

    </div>

 

六、在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="index-def" template="/tiles/layout.jsp">

        <put-attribute name="header" value="/tiles/11.jsp" />

        <put-attribute name="left" value="/tiles/22.jsp" />

        <put-attribute name="main" value="/tiles/33.jsp" />

        <put-attribute name="foot" value="/tiles/44.jsp" />

  </definition>

</tiles-definitions>

注意:

tile1.x的目录是

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE component-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN" "tiles-config_1_1.dtd" >

<component-definitions>

   <definition name="index-def" path="/tiles/layout.jsp">

      <put name="header" value="/tiles/11.jsp" />

      ……

   </definition>

</component-definitions>

 

Tiles2.x的目录为:

<?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="index-def" template="/tiles/layout.jsp">

        <put-attribute name="header" value="/tiles/11.jsp" />

        ……

  </definition>

</tiles-definitions>

 

 

七、测试效果

1)通过action测试

applicationContext-action.xml

<bean id="tilesTest" class="cml.test.TilesTest" />

 

Struts.xml

<package name="default" extends="tiles-default">

    <action name="tilesTest" class="tilesTest" >

       <result name="success" type="tiles">index-def</result>

    </action>

</package>

注意:1 extends="tiles-default"

         2type="tiles"

 

       2)通过JSP页面直接测试

Mytiles.jsp

<%@ page language="java" pageEncoding="GBK"%>

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

<tiles:insertDefinition name="index-def" />

注意:tile1.x不同,tile1.x的是<tiles:insert definition name="index-def" />

Tile2.x的是<tiles:insertDefinition name="index-def" />

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值