• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

对于struts的一点感触

发布: 2007-7-04 13:34 | 作者: admin | 来源:  网友评论 | 查看: 9次 | 进入软件测试论坛讨论

领测软件测试网         以前一直不是很喜欢struts甚至有些反感它,主要是它烦琐的配置,和页面、Action、ActionForm之间1:1:1的关系。其实大多是因为对于struts的了解过少。现在通过一段时间的使用,又对它有了一些新的认识:
        首先,它完全可以不定义Actionform(虽然大多数时间我们不建议这样做)或者可以定义一个DynaForm。也就是说Actionform不是必须的。其次关于Action,如果没有经过数据处理的跳转,我们完全可以通过对struts.config.xml文件的配置来实现,比如使用action forward。或者直接用超连跳走,我想这是完全可以的。多个页面可以对应一个同Action的不同方法,例如DispatchAction,也就是说我们可以在一个模块的开发中只配置一个Action。而Action操作完成后的转发页面也不是必须配置struts.config.xml。常用的方式(至少是我):return mapping.findForward(pageName);
但也可以这样写:return new ActionForward(pagePath);
这里的pageName为已在struts配置文件中定义的跳转页面的名称,而pagePath则是实际跳转路径。但struts的路径设置好象都是必须要以“/”开始。也就是说要从根目录开始查找。
虽然使用上来讲不是非常麻烦,但基于框架本身来说,编码人员还是要经常与请求打交道,也就是说我们要更多关注语言以外的一些东西。也可能因为这点原因,更多基于组件的表现层框架出现,比如:Tapestry,Wicket。这些框架隐藏了Servlet API和HTTP协议的细节,能让我们将更多精力投入到组件的重用设计,也让我们可以站在一个更高的抽象层去思考问题,同时也更符合OO,让我们像开发Swing一样去开发WEB项目。可惜的是Tapestry虽然很成熟,但近乎比struts还要烦琐的配置和他的学习难度,都让人望而止步。而wicket推出1.0正式版后(目前最新的版本为1.2),其自带组件已经可以满足一般的项目要求,而很少的配置,都另人眼前一亮。不好意思,好象扯远了。
        回到struts,来谈谈它的位置。WEB三层或多层开发已经在人们心中根深蒂固,而我现在仍旧觉着struts的位置非常模糊。我认为它在项目中的工作主要是进行转发,把它放的中间层,显然不太恰当,而放到表现层,也十分牵强。难道在中间层和表现层之间的控制层?其实我一直忽略了struts的标签技术。在项目中,只是一在去考虑struts的扩展、重写,没有太多去使用它的标签库,即使用也只是简单的用了logic、bean、html几个标签。可是当我想整理struts标签的时候,我才发现原来它还有如此多的功能。就拿struts-html.tld来说,一直以为用它和用标准的html没什么区别,但用过一段时间才发现,它能和struts其他组件如此紧密的联系起来,很多要大量代码才能实现的功能,有时一个标签就能解决。
        目前正在做项目的国际化,使用struts后也非常轻松的搞定。
        有时候觉着没有使用struts标签,几乎没用struts。以前一直对新技术比较感兴趣,Tapestry,Wicket,AJAX,Spring,Ruby on Rail...有时候追最新的技术同时,往往忽略了最基本的应用。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网