« 准备学习使用maven« »数据库SQL联合查询的思考 »
Velocity与Struts2标签相结合使用,功能值得期待

今天在做项目时,突然发现一个同事在使用Velocity时,写了一些以前我没见过的代码,很是好奇,经过打听,才知道,那些特别的代码原来不是Velocity的标签或者功能,原来是Struts的标签.具体情况是这样的:

我们目前项目的开发,使用的是Spring2.5+Struts2+Ibatis2+Velocity,在做一个表单时,我原先写的Velocity代码如下:

  <input name="parMap.tid" type="text" size="15" value="$!parMap.tid" />  
  订单状态: 
  <select name="parMap.status" size="1">
    <option value="">请选择...</option>
    #foreach($enumTradeStatus in $enumTradeStatusMap.entrySet())
    <option value="$!enumTradeStatus.key" #if($!parMap.status.equals($!enumTradeStatus.key)) selected #end>$!enumTradeStatus.value</option>
    #end
  </select>

没错,就是些很普通的Velocity代码,其中[parMap]是Action里的一个HashMap变量,用来接收表单数据,[enumTradeStatus]也是一个HaspMap,里面储存了下拉选择框里的选项.


后来,被同事修改了上面的代码,变成了以下的代码:

    <label>订单编号:</label>#stextfield("name=parMap.tid" "size=15" "theme=simple")
    <label>订单状态:</label>
        #sselect("name=parMap.status" "list=enumTradeStatusMap" "listKey=key" "listValue=value" "theme=simple" "headerKey=" "headerValue=全部")


当时看到这段代码时,我很是惊喜,代码量减少了大半,我开始以为是Velocity的更高级用法,但是,经过仔细的思索,后,觉得这不是Velocity的语法,而像另一种标签的语法,Struts2的标签.经过一问,果然和我的猜想一样.

但是,网上却很少发现有这方面的文章,我问同事,他也没有相关的资料,只是偶尔发现的网上的介绍,当我再次向他索取相关网址时,他也找不到了.而我搜索了半天,也没找到一篇文章.目前 ,我唯一的资料,就是以上两段代码了,也只能从这些代码里总结一点经验了.

依我的理解,Velocity就是将Struts2的标签: [<s:........]的这三个字母转成了[#s]两字母,后面的格式差不多,有点变化.以后再慢慢找资料.

我想,有了以上的发现,如果加以利用,与Velocity常用语法结合使用,这样就使用Velocity模板拥有更多更强的语言,在开发设计中更加灵活,功能更加强大.

 


Tags: velocity  Struts2  标签  JAVA  J2EE   |

原创文章如转载,请注明:转载自:巴士飞扬-技术BLOG : http://www.busfly.net/

本文链接地址:http://www.busfly.net/post/Velocity-Struts2-taglib.html

如果你喜欢本文,请顶一下,支持我,你的支持是我继续发好文章的最大动力。谢谢。
好东西需要分享,快把本文发给你的朋友吧~!~

     
相关文章:
  • 引用此留言  9.wppurking  http://blog.csdn.net/Purking
  • 其实这个是 Struts2 对 Velocity 的支持,在其文档:
    Apache Struts 2 Documentation > Home > Guides > Tag Developers Guide > Struts Tags
    中提到了; 不知道你现在这个研究得怎么样了,我很想知道Struts2 是怎么实现的 - -||
  • [删除]2010-1-30 16:11:30 回复该留言




◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
网站分类
分类最近文章
最近发表
最新评论及回复
最近留言
热文排行
随机推荐文章
Powered By Z-Blog   STYLE by busfly . FatMouse
Copyright © 2007 巴士飞扬技术博客. . 沪ICP备07027972号. 会员群1(J2EE为主):3769186.