Struts2+Tiles2框架整合

来源:互联网 发布:如何查询手机淘宝余额 编辑:程序博客网 时间:2024/05/02 02:51

原文地址:原文地址

.基本包(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+"/";

%>

  <basehref="<%=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>

     <divid="container"style="height:auto">

       <divid="header">

           <tiles:insertAttributename="header"/>

       </div>

      

       <divid="daohang">

           <tiles:insertAttributename="left"/>

       </div>

      

       <divid="right"style="border:none">

           <tiles:insertAttributename="main"/>

       </div>

      

       <divid="mbottom"style="height:100px">

           <tiles:insertAttributename="foot"/>

       </div>

      

    </div>

 

六、在WEB-INF文件夹中添加tiles.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEtiles-definitions PUBLIC"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN""http://tiles.apache.org/dtds/tiles-config_2_0.dtd">

<tiles-definitions>

  <definitionname="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的目录是

<?xmlversion="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">

      <putname="header"value="/tiles/11.jsp"/>

      ……

   </definition>

</component-definitions>

 

Tiles2.x的目录为:

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEtiles-definitions PUBLIC"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN""http://tiles.apache.org/dtds/tiles-config_2_0.dtd">

<tiles-definitions>

  <definitionname="index-def"template="/tiles/layout.jsp">

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

        ……

  </definition>

</tiles-definitions>

 

 

七、测试效果

1)通过action测试

applicationContext-action.xml

<beanid="tilesTest"class="cml.test.TilesTest"/>

 

Struts.xml

<packagename="default"extends="tiles-default">

    <actionname="tilesTest"class="tilesTest">

       <resultname="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:insertDefinitionname="index-def"/>

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

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

0 0
原创粉丝点击