设为首页 收藏本站
查看: 756|回复: 0

[经验分享] apache tiles的点滴

[复制链接]
发表于 2017-1-2 07:54:07 | 显示全部楼层 |阅读模式

  • tiles官方网站:http://tiles.apache.org/framework/index.html
  • strust2 plugin插件与tiles整合: http://struts.apache.org/2.x/docs/tiles-plugin.html
  • 不需要在web.xml中定义<context-param>节点来配置tiles配置文件的方式    http://tiles.apache.org/framework/tutorial/wildcard-configuration.html
  在编辑tiles config文件的时候,可以将框架页面的关系设置成继承的关系

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
<definition name="com.koubei.layout.basic" template="/WEB-INF/layout/profileLayout.jsp">
<put-attribute name="title" value="UC-Profile" />
<put-attribute name="menu" value="com.koubei.Profile.Menu" />
<put-attribute name="body" value="/WEB-INF/kvdb_user_profile.jsp" />
<put-attribute name="titleInfo" value="UC用户信息" />
<put-attribute name="query"
value="/WEB-INF/include/userqueryParamSet.jsp" />
</definition>
<!-- UserInfo -->
<definition name="com.koubei.layout.userInfo" extends="com.koubei.layout.basic">
<put-attribute name="titleInfo" value="UC用户信息" />
<put-attribute name="query"
value="/WEB-INF/include/userqueryParamSet.jsp" />
<put-attribute name="body" value="/WEB-INF/kvdb_user_profile.jsp" />
</definition>
</tiles-definitions>
  在配置文件中配置一个com.koubei.layout.basic框架页面,这个相当于是一个masterpage,可以让其他页面来继承这个masterpage来实现渲染。
  但是在页面执行的过程中出现了问题,在执行/WEB-INF/kvdb_user_profile.jsp这个body页面的时候,不能取到在框架页面中定义的titleInfo和query这两个属性。原因很可能是每一个属性空间是相互隔离的,在definition中定义的<put-attribute/>标签中的属性只能在definition的template这个空间中可以被调用。
  组合模式VS装饰器模式
  
  ■tiles是标准的组合模式实现页面渲染的框架,sitemesh是标准的装饰模式的实现。tiles在应用的过程中,更像在面向对象的软件设计中使用继承的方式来重用页面(将父页面的layout,已经每个layout中的页面片段重用)。
  从配置的角度来说,装饰器模式的页面重用方案确实比较方便,他可以定义一个装饰器,将它应用到整个应用程序之上,就能将整个应用程序都渲染了。然而组合模式页面重用方式是需要为每个具体的页面都需要有一个明确的配置信息。
   
  ■另外,tiles在runtime时将不同的页面片段重新组合,配置生成一个新的页面,然后sitemesh是因为装饰器和页面是一对一的,在运行期不能动态生成一个装饰器,所以不能像tiles那样在运行期动态组合页面块。
   
  ■在性能方面,tiles在运行时的开销比较小,然后sitemesh在运行期需要对被装饰页面有解析的过程,所以会有一定性能开销的
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-322568-1-1.html 上篇帖子: Apache Pig 安装配置 下篇帖子: Apache Pivot初体验
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表