|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是net网页编程beans,谢谢。InfoQ与SpringWeb团队的KeithDonald和JeremyGrelle就WebFlow2.0.0.RC1的公布举行了交换,这是WebFlow下一个次要版本的第一个产物公布候选。WebFlow是对SpringMVC的一个扩大,用来在Web使用程序中完成流程。
WebFlow2.0中有甚么新特征?
WebFlow2中有良多主要的新特征,比方:
改进的Ajax
起首,WebFlow2引进了Ajax事务处置才能。你只需像处置任何别的WebFlow事务一样来处置Ajax事务就能够了,在处置事务以后,你的流程能够哀求革新UI的特定片段或部分。你能够在我们的SpringTravel例子中看到对这类部分革新的撑持(当页面前往到查询了局表时,大概在UI上显现考证毛病信息时都能够看到这类部分革新)。
我们在对Ajax的撑持上对照成心思的一点是,当客户端Javascript不成用时,我们举行了得当的处置。试着会见一下SpringTravel使用,并将Javascript关失落。这个使用程序仍然可以事情。
因而我们的Ajax撑持实践上包括了两个部分:WebFlow分离服务器端来检测可使用Ajax的客户端并依据哀求举行部分展示;客户端,用于提交Ajax哀求并将呼应片段与页面接洽起来。我们所供应的客户端叫做“SpringJavascript”,这是WebFlow分发包中的新模块,创建在Dojo1.1之上,对Ajax及改善加强等等供应了一个洁净、分歧的API。
与SpringMVC更深度集成
SpringMVC和WebFlow是互补的:SpringMVC是Web使用开辟的基本平台,而WebFlow是一个Controller扩大,用来完成流程(也就是会话——conversations),它是跨多个哀求的有形态的用户交互。
因而WebFlow2加深了与盛行的SpringMVC平台的集成。如今,在无形态SpringMVC@Controllers中挪用Flows加倍简单了,并且关于Flow的产出,如今也能够更便利地映照到Controller上。在充斥“mvc”风味的SpringTravel参考使用中能够看到这一点,个中夹杂利用了@Controller和flow。在参考使用中,网站的“shop”或搜刮部分利用的是无形态的@Controllers来完成的,供应了完全的可书签化(bookmarkability)才能,订房功效利用的是有形态的WebFlow,为每一个窗口断绝了订房使用买卖。共同得十分好。
重构并扩大了JSF集成
在WebFlow仍是版本1的时分,你大概已在“传统”JSF使用里利用了WebFlow,个中JSF的FacesServlet处于把持位置,WebFlow试图经由过程利用PhaseListener和NavigationHandler来找到本人符合的地位。这对我们来讲是一项困难的集成义务,并且曝露了很多难以办理的奇妙成绩,好比非常处置、并发性、平安性、和耐久性高低文办理。
在WebFlow2中,JSF和SpringWeb之间的干系倒置过去了。实践上,用把持反转来了解这一变更是最好的体例。如今,不是Spring往顺应JSF了,而是JSF来顺应Spring,在我们熟习的SpringMVCDispatcherServlet内利用SpringMVC和WebFlow扩大点来完成这一点。基础上,我们吸取了JSF的优点,即它的UI组件模子,并把它作为一种体现层手艺带进到SpringMVC和WebFlowController模子中。这一集成办法吹糠见米的优点是你能够重用一切现存SpringMVC基本架构,包含:你的URLmappings、非常处置战略、Spring平安性战略,并且你能够分离JSF组件疾速构建UI。这类体例可你让无机会利用一切现今可找到的JSF组件库,其利用体例关于有WebMVC观点背景的开辟者来讲十分天然。
人们大概会以为假如利用这么共同的集成办法,一定会有些限定。可是到今朝为止我们还没有发明。我们已乐成证实你能够在SpringWeb情况下运转一切支流JSF组件库。别的,我们也创建了本人的称为“SpringFaces”的小组件库,其利用SpringJavascript供应了一套用于声明客户端校验和AjaxFacelet的标签。SpringTravel参考使用的facesflavor展现了这一组件库的实践利用。
Spring平安集成
WebFlow2引进了对flow的平安性撑持。只需复杂地注解一个flow、state或transition为“平安的”,SecurityFlowExecutionListener就会确保以后用户具有启动flow、进进step或倡议event的权限。
更复杂的流程界说言语
在WebFlow2中你还将发明,用于界说flow的中心言语加倍复杂了。比方,对我们的SpringTravel参考使用来讲,基于WebFlow1的版本由约莫200行流程相干的使用程序代码构成,这些代码分离位于6个分歧的部件中。在最新的2.0.0RC1版本中,其集成了更多功效,流程相干代码只要93行,散布在2个部件中,代码量削减了约50%,需保护的文件数削减了4个。你能够本人往对照一下版本1的中flow和版本2中的同等设置。
新的模块特征
我们也已将流程的观点扩大为一个“可重用、自包括的使用程序把持器模块”。如今,在默许情形下,一个流程和一切其所依附的资本(如views、messages和helpers)被打包在一同。按范畴职责构造代码是最好理论,在WebFlow2中我们正全力简化其利用。你能够从这个例子中看到这一点:在booking目次里,流程用于撑持国际化的views和messagebundles被打包在一同。
这一版本的准绳是甚么?
我要说这一版本的次要准绳就是易用。WebFlow1是一个具有很多特征的成熟框架,可是WebFlow2走得更远,它利用周全简化的流程界说言语使一些罕见义务加倍简单完成。集成是主旋律,我们供应了与JSF、SpringSecurity、UnifiedEL、SpringJavascript、和RichFaces最好的集成。正如后面所说起的,我们与SpringMVC的集成也已做了改善,我以为,WebFlow2重申了SpringMVC作为Springweb使用基本平台的主要位置,在其基本上能够拔出别的扩大功效。
从1.0迁徙到2.0有甚么值得等候的主要变更?
对流程界说言语的简化是人们能够等候的。为了匡助用户从1.0晋级到2.0,我们在刊行版中包括了一个WebFlowUpgrader工具,它能够主动把版本1的流程转换为新的版本2的语法。
至于完全的变更列表,我保举一切1.0用户往查阅新的referenceguide和2.0的参考使用,参考使用展现了最好理论。我们将包管我们的社区能尽量兴奋地晋级到2.0。
SpringWebFlow有哪些撑持工具?
WebFlow界说工具是基于XML的,因而,你所需的主要工具是一个好的、schema感知的XML编纂器。WebFlow一样平常将使用程序举动委派给了Java范畴模子和服务层,因而你必要一个好的JavaIDE。在此基本上,SpringIDE项目供应了一个极好的Eclipse插件,同意你可视化设置SpringWeb使用,并且还包括一个图形化的WebFlow编纂器。SpringIDE团队如今正在专注于WebFlow2配套软件的事情。ChristianDupuis,SpringIDE和比来公布的SpringSourceToolsSuite的向导人,已企图在蒲月份推出一个新的WebFlow2配套软件。
SpringSourceToolSuite为开辟SpringWeb使用供应了一个完全的集成开辟情况,包含对flow的撑持。我们的团队已编撰了几个面向义务的教程和运转时毛病剖析,并作为该套件beta版的一部分一同公布,未来我们还要供应更多内容。另有,比来公布的SpringSourceApplicationManagementSuite将在其行将公布的1.0.0.RC2中为WebFlow实行引擎供应运转时可视化才能。
WdbFlow开辟将来的核心,2.1版本的方针是甚么?
关于2.1我已有很多企图。声明模子校验是一个时兴的话题,我们将在2.1版中包括它。2.0里,我们已对回传(postback)供应了主动检测和挪用模子校验器的撑持,因而基本已是现成的了。下一步是让校验束缚可以针对模子举行声明,而且这些束缚在客户端和服务器端都被强迫请求。
我想你还能在2.1版本中看到我们利用剧本言语来界说把持流程的探究。构建在WebFlow2引擎之上的Grails,已展现了基于Groovy的流程界说言语是可行的,我们正在与Graeme一同互助,将其GroovyFlowBuilder兼并回WebFlow。别的,我以为我们无机会将流程界说言语拓展到我所称的“站点界说言语”,如许你能够以声明的体例界说全部网站微观布局,网站中的一些元素是流程。这一设法的灵感来自JesseJamesGarrett的VisualVocabulary,我以为在这一范畴有良多风趣的事情能够往做。
我们也在勉力确保如今产生在WebFlow2中的刷新内容可以在成心义的条件下回回到Spring框架自己。好比,我们正在追求把一切WebFlow和SpringFaces的Ajax特征带给那些利用JSP和Tiles的已有SpringMVC使用程序开辟者。
检察英文原文:SpringWebFlow2.0.0.RC1Released;AddsAjax,JSF,andSecurityIntegration
来自:http://www.infoq.com/cn/news/2008/04/spring-webflow-2rc
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net网页编程,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。 |
|