飘飘悠悠 发表于 2015-1-18 11:13:33

了解下JAVA的嫌疑论者的JSF - JSF转换与考证

而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践!
本月,RizonSoftware的CTOPaulTabor应邀与我一道排除针对JSF的FUD。在本文中,我们将先容JSF转换和考证框架的观点,它比您所想的要简单利用很多,也天真很多。
起首我们将先容使用于JSF性命周期的转换和考证历程,然后展现一个复杂的JSF使用程序中的默许转换和考证历程。接着将展现怎样创立和拔出自界说的完成,以应对请求更高的场景。正如Rick在之前的文章中所说的,我们会实际与理论偏重,先先容观点,再用一个实践例子申明这些观点的使用。示例使用程序将涵盖年夜多半转换和考证用例,固然只是低级的。
注重,示例使用程序的默许编译情况是Maven,不外,还供应了一个Ant剧本。能够单击本页顶部大概底部的Code图标下载示例源代码。为了烦琐起见,您会发明,该例子的设置与上一篇文章中的一样。关于构建情况设置的更多申明,包含在Ant情况中而不是在Maven情况中编译和运转示例使用程序的申明,请参阅参考材料。
转换和考证
固然在JSFWeb使用程序中利用转换和考证纷歧定要了解JavaServerFaces性命周期的基本常识,可是在深切转换和考证内容之前,最好对一些基础常识做一回忆。别的,把握一点JSF性命周期技能能够极年夜地匡助简化Web使用程序的开辟事情。另有助于更好地舆解JSF的可拔出才能。
刻画了我们所说的“基础JSF性命周期”。基础是在表示这只是一个典范的处置所提交表单值的哀求-呼应(request-and-response)场景。
.基础JSF性命周期

明显,分歧的场景对这里重点形貌的性命周期有分歧的影响。我们将在本文稍后先容个中一些场景。如今,只必要注重转换和考证历程产生在使用哀求值、处置考证和出现呼应阶段便可。
我们将在稍后先容为何转换和考证会在这些阶段呈现,可是起首让我们廓清一个更基础的成绩:转换是甚么?复杂地说,转换是确保数据具有准确的对象大概范例的历程。上面是两个典范的转换:
字符串值能够转换为java.util.Date。
字符串值能够转换为Float。
至于考证,它用于确保数据包括所希冀的内容。上面是两个典范的考证:
java.util.Date的格局为MM/yyyy。
Float在1.0和100.0之间。
存眷性命周期阶段
转换和考证的次要目标是确保在更新模子数据之前已经由了准确的有害处置。以后,当必要挪用使用程序办法用这些些数据实践做一些事变时,就能够有掌控地假定模子的某些形态。转换和考证使您能够偏重于营业逻辑,而不是偏重于对输出数据举行烦琐的资历认定,好比null查验、长度限制、局限界限,等等。
因而,在更新模子数据性命周期阶段中,在组件数据被绑定到backingbean模子之前举行转换和考证处置是有事理的。正如所示,转换产生在使用哀求值阶段,而考证产生在处置考证阶段。凸起显现了这些阶段。
.要存眷的转换和考证阶段

<p>
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。

山那边是海 发表于 2015-1-20 17:28:48

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

第二个灵魂 发表于 2015-1-26 06:19:32

Java是一种计算机编程语言,拥有跨平台、面向对java

若相依 发表于 2015-1-27 08:59:18

是一种将安全性(Security)列为第一优先考虑的语言

柔情似水 发表于 2015-1-29 13:59:11

是一种使用者不需花费很多时间学习的语言

愤怒的大鸟 发表于 2015-1-30 23:53:10

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

再见西城 发表于 2015-2-8 07:58:07

是一种语言,用以产生「小应用程序(Applet(s))

不帅 发表于 2015-2-25 01:27:18

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

海妖 发表于 2015-3-7 15:12:06

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

莫相离 发表于 2015-3-11 06:40:18

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

精灵巫婆 发表于 2015-3-17 22:47:52

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

透明 发表于 2015-3-25 04:03:06

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
页: [1]
查看完整版本: 了解下JAVA的嫌疑论者的JSF - JSF转换与考证