来看精晓Grails: 用Groovy服务器页面(GSP)改动视图
到时我们不用学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++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试) Java 编程语言的风格十分接近C、C++语言。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
页:
[1]