struts-tiles

[url]http://www.javaresearch.org/article/8134.htm[/url]
Struts使用Tiles辅助开发
javaone 转贴 更新:2003-08-01 15:06:04 版本: 1.0


Jplateau(原作)

对于在页面的布局管理以及可重用方面,Tiles做得很优秀,使我们在开发过程中思路非常流畅,特别是在用struts开发项目过程中,如果使用tiels来辅助开发,往往能带到事半功倍的效果。

如果要看Tiles的详细文档,请访问http://www.lifl.fr/~dumoulin/tiles/

在此我想从使用方式上说一下自己的经验:

往往我们的一个项目中,大部分的页面的布局都是一样的,这其中如果我们把一样风格的页面归为一类的话,这样的分类就不会很多了。(不同的项目这样的分类多少为有区别,要看页面风格规划的是否高效)

假设我们提出一类页面(如产品管理)的风格,布局如下:

那么我们可以在tiles-defs.xml中定义这样一个总的类型,如下:

tiles-defs.xml 放在/yourwebapp/WEB-INF/下


<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<!―布局类型一 -->
<definition name="mainLayout" path="/homepage.jsp">
<put name="top" value="/header.jsp" />
<put name="menu" value="/menu.jsp"/>
<put name="main" value="/main.jsp" />
<put name="footer" value="/footer.jsp" />
</definition>
……
<!―布局类型二 -->
<definition>
……
</definition>
……
</tiles-definitions>


以上定义了一种布局类型,假设命名为A布局,下面要列举两个属于该类型风格的页面的布局方法添加产品页面,最终我们要关心的时addProducts.jsp这个页面,但是我们如何使用A布局的布局风格呢?

如下:

……接上tiles-defs.xml……


<!―布局类型A布局一 -->
<definition name="mainLayout" path="/homepage.jsp">
<put name="top" value="/header.jsp" />
<put name="menu" value="/menu.jsp"/>
<put name="main" value="/main.jsp" />
<put name="footer" value="/footer.jsp" />
</definition>

<!―布局类型A布局“子类1:添加商品”一 -->
<definition name=”mainLayout_products_add” extends=” mainLayout”>
<put name=”main” value=”/addProducts.jsp”/>
<!―相当于把布局A中main的内容换成我们需要的,其他保留 -->
</definition>
<!―布局类型A布局“子类2:查询商品”一 -->
<definition name=”mainLayout_products_search” extends=” mainLayout”>
<put name=”main” value=”/searchProducts.jsp”/>
<!―相当于把布局A中main的内容换成我们需要的,其他保留 -->
</definition>
……
……


以上只是以一种布局类型来说明,其他的布局类型(如:布局B,布局C。。。。。)都用相通的方法扩展,没有什么难的地方。

下面简要说一些tiles在struts-config.xml中的配置,在struts1.1种tiles是利用struts的扩展机制来完成装载的,代码很简单如下:


//struts-config.xml
……
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config"
value="/WEB-INF/tiles-defs.xml" />
</plug-in>


如果你些多个tiles配置文件,那么用“,”号隔开。
下面在举一个使用tiles以后action mapping 的写法

如我们要进行添加商品的请求,在添加页面里要先进行商品类型的装载:

addProductAction.do――〉ProductAction――〉addProducts.jsp
ProductAction完成商品类型的集合返回client端

//Struts-config.xml
…………
<action path=”/ addProductAction”
type=”com.***. ProductAction”>
<!―成功以后返回布局A子类1-- >
<forward name=”” path=” mainLayout_products_add”>
</action>
…………


好了,以上对一个操作的流程采用tiles以后的写法进行了简要的说明,具体Tiles的文档请参看上面给出的连接。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值