|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。
本系列的前两篇文章先容了GrailsWeb框架的基础构建块。我曾重复夸大过—Grails基于模型-视图-把持器(Model-View-Controller,MVC)架构形式(请参阅参考材料),Grails使用商定优于设置将框架的各个部分组合在一同。Grails用定名直不雅的文件和目次取代了更简单堕落的在内部设置文件中手工对这些链接举行回类的老办法。比方,在第一篇文章能够看到把持器具有Controller后缀,存储在grails-app/controller目次。在第二篇文章懂得到能够从grails-app/domain目次找到域模型。
在本月的文章中,我将经由过程会商Grails视图进一步先容MVC。视图(正如您所料)存储在grails-app/views目次内。可是视图远不止直不雅的目次称号这么复杂。本文将会商Groovy服务器页面(GSP)并先容很多替换的视图选项。在本文中将进修尺度的Grails标志库(TagLibs),并懂得到创立自界说TagLib有何等简单。还会看到怎样将GSP的经常使用片段提掏出来放在本人的片断模板(partialtemplate)内,从而遵守DRY(DontRepeateYourself,不要反复本人)(请参阅参考材料)原则。最初,将进修怎样为搭建的视图调剂默许模板,从而在便利地主动创立视图和跳出Grail使用程序默许表面之间举行均衡。
检察Grails使用程序
Grails利用GSP作为暗示层。Groovy服务器页面中的Groovy不但代表底层手艺,还代表能够疾速编写一两个scriptlet的言语。从这方面来讲,GSP十分相似于Java™服务器页面(JSP)手艺,JSP同意在Web页面上夹杂利用一些Java代码,也和RHTML(RubyonRails的中心视图手艺)十分相像,RHTML同意在HTML标志之间插进一些Ruby代码。
固然,Java社区临时以来都不浏览小剧本。scriptlet会招致最低情势的技术重用—复制与粘贴—和其他一些在手艺方面为人所不齿的罪行(由于你能和由于你应该之间有伟大区分)。GSP中的G对优异、朴重的Java职员来讲只应当暗示一种完成言语而不是其他。GroovyTagLibs和片断模板供应了在Web页面之间共享代码和举动的一种更成熟的体例。
GSP是Grails以页面为中央的MVC概念的基本。页面是基础权衡单元。列表页面供应了到Show页面的链接。Show页面撑持单击到编纂页面,诸云云类。不管是纯熟的Struts开辟职员仍是比来的Rails喜好者,都熟习这类Web性命周期。
之以是提到这点,是由于近几年呈现了大批不以页面为中央的视图手艺(请参阅参考材料)。面向组件的Web框架(比方JavaServerFaces(JSF)和Tapestry愈来愈遭到喜爱。Ajax反动派生出大批基于JavaScript的办理计划,比方Dojo和Yahoo!UI(YUI)库。富Internet使用程序(RIA)平台,比方AdobeFlash和GoogleWebToolkit(GWT)答应可以完成便利的Web部署,并供应加倍丰厚、与桌面相似的用户体验。侥幸的是,Grails可以轻松地处置一切这些视图手艺。
MVC存眷点断绝的全体要点在于:它可以使您轻松地用本人喜好的任何视图作为Web使用程序的表面。Grails盛行的插件基本举措措施意味着很多GSP替换物不外是grails安装的插件(请参阅参考材料获得可用插件的完全列表的链接,大概在命令行下输出grailslist-plugins)。很多插件都是由社区驱动的,是那些但愿将Grail与他们喜好的暗示层手艺一同利用的人们的勉力了局。
固然Grails没有内置JSF的主动挂勾(hook),可是仍旧能够分离利用这两种手艺。Grails使用程序是尺度的JavaEE使用程序,因而能够将响应的JAR放在lib目次内,将必要的设置放在WEB-INF/web.xml设置文件内,并像寻常一样编写使用程序。Grails使用程序部署在尺度的servlet容器内,以是Grails对JSP的撑持同对GSP的撑持一样好。Grails有针对Echo2和Wicket的插件(二者都是面向组件的Web框架),以是在利用JSF或Tapestry插件方面没有任何停滞。
相似地,向Grails增加Ajax框架(比方Dojo和YUI)的步骤也没有甚么出格的地方:只需将它们的JavaScript库复制到web-app/js目次便可。Prototype和Scriptaculous是Grails的默许安装。RichUI插件则从各类Ajax库选择UI部件。
假如检察插件列表,那末就会看到对RIA客户机的撑持——比方Flex、OpenLazlo、GWT和ZK。明显,Grails使用程序其实不短少备选的视图办理计划。可是在这里我们仍是接纳Grail间接撑持的视图手艺—GSP。
<p>
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试) |
|