使用<jsp:include>引入struts文件,Struts之旅之Tiles篇

Struts之旅之Tiles篇

问题域:在大型的web的项目中,不免有很多的页面而这些页面其中的很多部分是可以重复的?那么我们怎么把这些页面做到减少冗余而提高利用率呢?
解决方法:
使用JSP中提供的<jsp:include>来完成
使用Struts的Tiles插件Tiles
What’s mean Tiles?
Tiles是瓦片的意思,也就是网页是由一个个的“瓦片”盖起的“大楼”
Tiles1.2插件已经在Struts中集成

下面我们重点讲下Tiles
Tiles优点:
方便扩展,减少网页的数量和冗余,提供网页的利用率
方便更新网页,只需要修改一个或多个Tiles而已
Tiles能够利用Action等传递过来的属性加以利用
Tiles只需要在xml文件中定义,不需要繁杂的工作
首先我们来看看一个网页的布局
我们转变下思维!

我们可以以上面的方式来布局,但是我要修改左边的主体时,那么我整个网页都要“牵扯”进来! 我们也不难想到我们可以一块块的加到网页中去,那么就可以修改一个地方而不是全部的网页本身,不是吗? 那么怎么办呢?
以前我们使用<jsp:include>来动态加载页面,现在时代变化了,我们可以使用Tiles来动态修改!
具体怎么做?Take it Easy!
凡是要讲究步骤!Attention!建立Tiles页面部署Tiles的xml定义文件在Tiles的xml定义文件中指定你的Tiles网页建立布局文件,并在Tiles的xml定义文件制定在你的struts-config-xxx.xml文件中加入插件Easy?Or Not?不难发现Tiles可以很容易的完成这些功能?可是我们仿佛觉得好些这些功能在<jsp:include/>中也能完成啊!好像,后者更加简单啊,何必这么麻烦呢?
好像在xml文件中每次也只是给一个部分添加一个页面,那还不如以前
显示中充满着假象,往往人们能习惯被表面所欺骗!

Tiles最大的魅力在于扩展How to Extend it?
Like this!
扩展它的时候,就像扩展类一样,实际上也是类的扩展!
<definition name=“sub" extends=“super">
</definition>
产生了一个和父定义一样,特别注意,扩张并不能改变布局,也就是说布局和父定义一样的!现在可以随意的添加你的新的属性!Enjoy!
<definition name=“sub" extends=“super">
<put name=“newAttribute” value=“newValue” />
</definition>Tiles属性
Tiles可以使用传递过来的数据,其中
使用属性(类似于<jsp:getProperty />)
<tiles:useAttribute name=“attriName” [classNname=“className”] [scope=“”] />说明:name 属性的名称 className 类的名称(完全) scope 四大范围 request,session,page,application
导入属性
<tiles:importAttribute name=“name” scope=“scope”>
说明:name 属性的名称 className 类的名称(完全) scope 四大范围 request,session,page,application
导入数据
<tiles:put name=“name” [beanScope=“scope”] beanName=“beanName” [beanProperty=“beanProperty”]/〉<tiles:putList name=“name”>
<tiles:add value=“value” />
</tiles:put>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值