JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JSP技术--STRUTS  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
Struts使用Tiles辅助开发
作者:     文章来源:
访问次数:215次     加入时间:2006年11月03日
Jplateau(原作) 

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

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

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

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

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


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

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

  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2.  <!DOCTYPE tiles-definitions PUBLIC
  3.        "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
  4. "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
  5. <tiles-definitions>
  6.       <!?布局类型一 -->
  7.          <definition name="mainLayout" path="/homepage.jsp">
  8.          <put name="top"  value="/header.jsp" />
  9.          <put name="menu"    value="/menu.jsp"/>
  10.          <put name="main" value="/main.jsp" />
  11.          <put name="footer" value="/footer.jsp" />   
  12.   </definition>
  13.        ……
  14.        <!?布局类型二 -->
  15.   <definition>
  16.               ……
  17.   </definition>
  18.        ……
  19. </tiles-definitions>


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

如下:

……接上tiles-defs.xml……

  1.       <!?布局类型A布局一 -->
  2.          <definition name="mainLayout" path="/homepage.jsp">
  3.          <put name="top"  value="/header.jsp" />
  4.          <put name="menu"    value="/menu.jsp"/>
  5.          <put name="main" value="/main.jsp" />
  6.          <put name="footer" value="/footer.jsp" />   
  7. </definition>
  8. <!?布局类型A布局“子类1:添加商品”一 -->
  9. <definition name=”mainLayout_products_add” extends=” mainLayout”>
  10.      <put name=”main” value=”/addProducts.jsp”/>
  11.      <!?相当于把布局A中main的内容换成我们需要的,其他保留 -->
  12. </definition>
  13. <!?布局类型A布局“子类2:查询商品”一 -->
  14. <definition name=”mainLayout_products_search” extends=” mainLayout”>
  15.      <put name=”main” value=”/searchProducts.jsp”/>
  16. <!?相当于把布局A中main的内容换成我们需要的,其他保留 -->
  17. </definition>
  18. ……
  19. ……


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

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

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


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

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

addProductAction.do??〉ProductAction??〉addProducts.jsp
ProductAction完成商品类型的集合返回client端
  1. //Struts-config.xml
  2. …………
  3.        <action path=”/ addProductAction”
  4.                      type=”com.***. ProductAction”>
  5.         <!?成功以后返回布局A子类1-- >
  6.        <forward name=”” path=” mainLayout_products_add”>
  7. </action>
  8. …………


好了,以上对一个操作的流程采用tiles以后的写法进行了简要的说明,具体Tiles的文档请参看上面给出的连接。

Struts发布包里也有tilse的文档和例子。
JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号