9.struts1.x中tiles框架的使用

  1. 在页面直接使用titles标签

先引入标签:<%@taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>

将模板页面要代替的内容用标签占位:<tiles:insert attribute="content"></tiles:insert>

在另外一页面将模板页与内容页整合:

<tiles:insert page="usertemplate.jsp">

<tiles:put name="content" value="zczzh.jsp"></tiles:put>

</tiles:insert>

  1. 使用tiles框架

先插入框架的插件

<!-- 使用tiles框架则要将它的插件插入,当在页面用tiles标签时,则不必要加入些插件,

    事实上直接使用tiles标签也蛮简单,只是多了一个页面

    ,但是它可以使用其它的自定义action,各人所好吧。

    参数相注意,就这么写-->

    <plug-in className="org.apache.struts.tiles.TilesPlugin">

        <set-property property="definitions-config"

            value="/WEB-INF/tiles-defs.xml" />

        <set-property property="definitions-parser-validate"

            value="true" />

</plug-in>

   定义tiles配置文件

<?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="template" page="/template.jsp">

  <put name="head" value="head.jsp" ></put>

  <put name="foot" value="foot.jsp" ></put>

  <put name="left" value="left.jsp" ></put>

  </definition>

  <!--

  这个页面继承了模板页面,填充了它没有填充的地方。

  当然如果模板页面已经填充,它可以覆盖。

   -->

  <definition name="register" extends="template">

  <put name="content" value="content2.jsp"></put>

  </definition>

</component-definitions>

       在struts的action中调用

<!-- 使用tiles,则自定义的action必须继承ForwardAction,其它跟别的自定义action一样,不过

        它的parameter属性用来指定tiles配置文件中definition标签的name,当两者相同时如果execute方法返回值为null,

        则页面转向parameter指定的组合页面。否则到相应的页面,蛮有用的 -->

        <action path="/testtiles" type="edu.yzu.action.MyTilesAction"

            parameter="register">

            <forward name="success" path="/index.jsp"></forward>

        </action>

posted @ 2010-05-03 16:52  沉兮  阅读(469)  评论(0编辑  收藏  举报