简化Spring(4) View层[Java编程]
本文“简化Spring(4) View层[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
一样的,Freemarker和Velocity爱好者请跳过本篇.与弃用webwork而单用Spring MVC Controller接口的来由一样,Freemarker本来是一样好东西,还跨界支持jsp 的taglib,并且得到了WebWork的尽力支持,但为了它的非尺度化,用户数目与IDE的贫乏,在View层我们还是利用了保守但大家会用,IDE友好的JSP2.0 配合JSTL.
关于B/S构造的企业利用软件来说,基本的页面不外两种,一种是填Form的,一种是DataGrid 数据列表管理的,再配合一些css, js, ajax的效果,就是View层要关注的东西了.
1. JSP 2.0的EL替换<c:out>
JSP2.0可以直接把EL写在html部份,而没必要动用<c:out>节点后,诚恳说,JSP2.0+JSTL到达的页面效果,已不比Velocity相差多少了. <p>{goods.name}</p>
替换
<p><c:out value="{goods.name}"/></p>
(除了EL里面不能调用goods的函数,sun那帮老顽固始终保持JSTL只能用于数据显示,不能举行数据操作,所以不能调用bean的get/set外的办法)
2. 最懒的form 数据绑定
Spring少得可怜的几个tag基本上是鸡肋,完好可以不要. 而Spring开辟中的那些Simple Form tag又还没有公布.Spring的Tag主要用来把VO的值绑到input框上.但是,和Struts一样,需求一一Input框绑定,并且语法非常冗长,碰到select框还要自己举行处理.....典型的Spring Sample页面让人一阵头晕.
而jodd的form tag给了我们懒人一个懒得多的办法,只要在<form>两头用<jodd:form bean="myVO"></jodd:form>包住,里面的全部input框,select框,checkBox...通通自动被绑定了,这么简单的事情,真不懂得struts,spring为什么不用,为了不必要的机动性么?
<form>
<jodd:form bean="human">
<input type="text" name="name">
<input type="radiobox" name="sex" value="man">
<select name="age">
<option value="20">20</option>
<option value="30">30</option>
</select>
</jodd:form>
</form>
不过,jodd有个致命弱点是不能绑定内嵌对象的值.比方Order(订单)对象里有个Customer(顾客)对象,jodd就不能像 struts,spring一样用以下语法绑定:
<input name="customer.customerNo">
这是因为它的beanUtils比Jakata Common弱,用了一个错误的思绪的来由. 动用beanUtils改正一下便可以了,改正后的源码可以下载.
3. DataGrid数据列表
DisplayTag和ValueList都属于这种情势的Tag Library.但近来呈现的Extreme Table是真正的killer,他本身功效强盛不说,并且从一开始就想着若何让别人举行扩大重载,比方Extend Attributes机制就是DisplayTag这样的让千人一面者不会预留.
4.css, javascript, ajax
天下纷扰,没有什么分外想讲想举荐的,爱谁谁吧.Buffalo, DWR, Scriptaculous, Prototype, AjaxTags, AjaxAnywhere, Rico, Dojo, JSON-RPC,看着名字就头痛.
以上是“简化Spring(4) View层[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |