今天在研究JSF框架,感觉怎么没有STRUCT清晰。

今天在研究JSF框架,感觉怎么没有STRUCT清晰。比如STRUCT有个ACTION方法,可以通过这个获取FORM表单内容,从而我可以在这个ACTION中写一些代码,或者用过这个ACTION调用BEAN操作数据库。可现在我用JSF时,只看到了FORM的应用。但我要找到类似个ACTION的实现却无从下手。

JSF是通过一个受管Bean来处理的。你可以在JSF控件上指定专门的Bean的方法来执行响应。
JSF是事件驱动型。一般一个页面对应一个JavaBean。通过控件属性把两者绑定。

Struts是请求驱动,JSF是事件驱动,搞明白这种区别是关键。

在5个主流Web框架中,JSF其实是最容易用的。

要说清晰,还得是Spring MVC,能应对很多复杂页面,但要搞明白、用好,还是要些功力的。

jsf要结合好的ide比较好用!

jsf还没有看书就摸石头……的吧。你先弄本书学学再上手吧。
我觉得jsf不错啊。

JSF和struts思路是不一样的。

struts手写就可以了,JBuilder/MyEclipse等有些可视化流程开发,不过我个人觉得还是手写直接。


JSF如果手写简直是恶梦,JSF缺点就是必须依靠商业开发工具,如最近国内一个公司大张旗鼓宣传的就是这样JSF开发工具。

当你对一项技术或者产品或者框架熟悉的时候,它有时会阻碍你理解别的产品技术或者框架。

特别是他们之间的思路完全不一样的时候。

所以,有的时候,类比是一种很好的学习方法,而有的时候,你必须首先放弃你原来知道的东西,从头学起会反而会更快。
[该贴被slangmgh于2007年09月05日 14:07修改过]

谁说那手写是恶梦,我一直拿手写,没有所谓工具,如果banq有兴趣,可以探讨一下

JSF我也倒腾了一段时间,发现他很占内存,我想在那种高并发的情况下,是否能用,而且他是基于事件驱动,把httprequest,httpresponse都给屏蔽了,给用户调整的空间有限,不像struts,是暴露这些东西的,易于调整

不清晰应该你还没去研究过,JSF也和Struts差不多,只不过是提供了个BackingBean来访问数据库了,整点资料研究研究,框架都是各种便利开发的东西,每种的是有区别了

jsf和struts差多了,整那么多生命周期,一个不注意就继承了别人开发的劣质父类,调用一个方法会被调用5次,渲染也慢。我的领域层本来测试挺快的,套上jsf突然就变慢了,我原来以为是领域层的问题,结果拿着profile测试发现其实70%的时间是浪费在jsf的渲染上,一层层的调用看着都眼花,最耗时的竟然是一个jsfapi,那我还有啥招了。
jsf思想是不错,但是web就是web,不能舍弃web的本质单纯追求技术化来创新,本来一个请求、响应的简单过程被复杂化了。

>jsf思想是不错,但是web就是web,不能舍弃web的本质单纯追求技术化来创新,本来一个请求、响应的简单过程被复杂化了。

我同意,有待现在机器性能提高,就象当初java推出时,在486上运行都很慢,现在就好了。Web技术其实应该考虑到Web的特点:客户端浏览器和服务器,充分发挥浏览器的处理能力,否则那么高那么多PC机白费了,所以AJAX确实是可行之道,但是现在又有一个倾向:有的Web框架打包AJAX在其Web的标签库中,比如Struts2还有DWR2等,这可能方便开发,几个标签语法搞定html/js,但是还是需要渲染。

>如最近国内一个公司大张旗鼓宣传的就是这样JSF开发工具。
呵呵就是不给金蝶做广告
>今天在研究JSF框架,感觉怎么没有STRUCT清晰。
个人觉的你在struts的action中加一个反射actionForm的内容,就的struts就比较像jsf了。
>JSF如果手写简直是恶梦,
直接手写也可以,习惯就好了

总体来说,jsf还是不错的,对ajax的支持也不错!

大力发展直接返回json算了,又省事又简单,让MVC都结束,servlet充当门面,计算什么的让PC去干活,配置那么高不是光看个电影玩个游戏就完事的,也得为服务器想想。
给前台一堆数据让网页设计专家自己摆弄,想摆哪摆哪,他们的CSS、JS功夫可真是很了不起,我搞了两天都弄不出来的页面布局人家上来闭着眼睛敲键盘就弄好了。

昨天google发布chrome浏览器,也是看中客户端强大的处理能力,结合RIA胖客户端技术,以及网络后端强大的云计算,充分发挥客户端负责图形界面,网络服务器负责业务计算,这样就能真正实现“网络即是计算机”概念。

网络即是计算机这个概念最早是SUN公司提出来的,也是其Java一个主要目标,由此可见SUN的理念总是很前卫的,至少前进现实10年,当然,行动力差一些,因为微软的竞争和干扰,现在bill gates终于退休, 而这个时候由google通过推出Chrome浏览器,可谓是即将真正实现“网络即是计算机”。

对于AJAX这类依赖javascript的技术,掌握浏览器技术就很重要,不象applet或flash等都是浏览器内嵌,与浏览器关系不大,但是这种方式已经证明一直是RIA顺利推广的阻碍,而无缝的AJAX 如prototype已经证明是非常好的RIA技术,google的地图都依赖javascript,如果将来微软有开始捣乱,搞个不兼容的JS(记得好像有了),那么大家又开始分裂,RIA梦想始终不能实现。

所以,我个人认为google推出chrome的意义重大。当然,SUN的JSF技术也相当超前,但是将本该客户端干的活移植服务器,还是与大势有些违背。