本帖最后由 xiaolei2009 于 2009-10-01 22:58:12 编辑

解决方案 »

  1.   

    JSF 不是框架,JSF 是标准我们用 jboss seam,视图就是用的 JSF,JSF 相对于 JSP 来说有很多优势,比如每个标签都有个 rendered 属性,可以控制是否呈现出来,在权限系统上有无可比拟的优势。当然了 JSF 也有其缺点,不大适合做网站性质的 Web 应用,因为生成的 HTML 文件太乱,不利于搜索引擎优化,而且格式也不大好控制。不过对于管理系统性的 Web 应用,由于不在乎 HTML 文件是否很乱,格式要求也不是非常高的情况下是很不错的。再举个例子吧,某个页面上下拉框中的数据项是从数据表中取出来的。这种情况下使用 JSP 的话,得先跳入一个 Servlet,在其中获得下拉框中的数据,再转发至 JSP 页面,再将数据放到页面上,这样完成一个功能。用 JSF 的话,这种问题只需要写一个方法就行了。页面上这样写:
    <h:selectOneMenu value="#{bean.value}">
      <f:selectItems value="#{bean.items}"/>
    </h:selectOnMenu>后台的 backing bean 只要增加一个 items 的方法,在这个方法中查出数据,返回类型为 Map<String, Integer> 就行了。由于国内的开发基本上被 Struts + Hibernate + Spring 的框架组合冲昏了头,除了这三个之外认为 Java 就没有其他东西的。因此 JSF 在国内的应用很小。
      

  2.   

    再举个例子吧,某个页面上下拉框中的数据项是从数据表中取出来的。这种情况下使用 JSP 的话,得先跳入一个 Servlet,在其中获得下拉框中的数据,再转发至 JSP 页面,再将数据放到页面上,这样完成一个功能。 好像也可以从jsp中直接就可以取到,不用经过servlet
      

  3.   

    我有一个使用selectBooleanCheckbox复选框,翻页后没有勾的问题。
    比如有两页数据,每页10条数据。我现在要选择了第一页的几条,然后翻页选择了第二页的几条,这是所要做的事情。 可是,选完第二页,即打上勾后,再回到第一页,第一页上面的勾就不见了。 问题,怎么才能让第一页的勾还在??
      

  4.   

    那是否在不久的将来JSF就会成为国内的主流框架呢!!
      

  5.   

    接手过一个JSF的项目。那东西被前辈们做的相当的乱。后来研究了一下,JSF本身还是不错的,所以问题不是JSF的,应该是前辈们的。注意不要搞得太乱就好。
      

  6.   

    JSF有个非常大的优势,就是参考了asp.net的事件响应和页面类机制。事件响应使得页面传值变得不费吹灰之力,页面类机制使得程序员可以用服务端编程的方式细粒度的控制页面。
    但是这两方面做得都不够好。任何体验过asp.net的人,都会体会到其中的巨大差距。
    至于其他方面,一无是处。
      

  7.   

    我觉得很方便啊直接在页面中调用BEAN中的方法
      

  8.   

    好像是搞SWING的牛人搞的.的以有点像桌面程序一样.自然有它的优势,不过用的人不多,学了也不知道在哪里用,就算你 会,别人不会,有什么用,中国的软件,还是跟大流
      

  9.   

    非常强大。不过也非常不好驾驭。 
    再复杂的表单,用JSF都能轻松搞定。
    而且可以轻松的扩展组件。FCKEditor就可以和JSF很轻松的整合。
    我觉得缺点就是,循环的表单控制上,非常差,可控性不好。DataTable就是一个鸡肋! 
    (JSF必须非常了解它的生命周期各个阶段的工作,否则会出很多你想不到的错误。)
      

  10.   

    还没用过。不过如果能用JSF,估计我就用NET了。
      

  11.   

    看了火龙果斑竹的简介,觉得jsf还是很类似于我们常用的jstl和struts的tag。
      

  12.   


    这个没有很好的解决方法, 你只有重新构造出一个类,加一个属性用来标识是否选中,只要你选中一个它都会自己保存下来,这样不管你翻多少页,对象都能保存,在后台Bean中就能取出你勾选中的数据
      

  13.   

    up  up  up ^^^^
      

  14.   

    JSF就是抄.net那套,如是是sun标准实现的话还可以实现可视化拖放布局,不过用了它很容易造成层次不清的问题。
      

  15.   

    这个框架其实就是把做web的开发,变成做swing那种桌面程序的开发一样来处理.其实是一种很好思想!我觉得值得大家学习.
      

  16.   

    come in and see it thank you
      

  17.   

    JSF作为Java的标准,在其规定的框架内进行开发式非常方便的,可以说是目前最为OO的展现层框架标准,但是由于JSF的重量级的特点,对其进行扩展成为一件不容易的事情,与其他框架的兼容性成为本身最大的缺陷,比如,需要给使用JSF的框架加入Ajax应用,目前除了ajax4J几乎没有其他的Ajax框架可以使用,相对于这方面Struts2相对有一定的优势,而且struts2在吸收WebWork、Spring等优秀框架的基础上,形成了一个非常有特色的展现层框架。但是JSF阵营由于有JBoss的加入变得发展迅速,甚至已经发展成了Seam框架,开发一般的中小型应用系统变得非常方便,使程序员几乎从展现细节中脱离出来,真正注重于业务逻辑,从而提高开发效率。加之facelets的提出,使得JSF应用的开发在模板的基础上更加方便。总之,JSF目前来说已经是一个非常成熟的展现层框架标准,目前使用较广泛的JSF实现框架有richFaces、MyFaces、ICEFaces等
      

  18.   

    richface iceface and so on
      

  19.   

    没用过,但是了解过,说说我的感受。
    我觉得,灵活性和可维护性,永远都是存在矛盾的。
    太灵活了的话,就会让维护变得困难。比如JSP,java代码和html代码混合在一起,可以随便写。这样做的结果是,很多人就不顾规范了。写出来的jsp文件只有让他自己来维护。如果时间长了的话,他自己也维护不了。
    用模板的话,生成代码什么的,当然是更规范了。但是,有的时候,一些用java三言两语就解决的问题,反而却复杂化了。
    所以我认为,它们之间是有矛盾的。
      

  20.   

    JSF的理念很不错,可惜推广不力,国内尤为如此!
      

  21.   

    看过资料,也自己做个DEMO 学习了下,但是公司项目没用
      

  22.   

    正在使用JSF+RICHFACES 这方面的资料不太好找 做起来很费劲
      

  23.   

    我觉得已经超过struts 很多,但还不是很成熟,在国内永远只能拿点别人的老东西用,所以没什么人用.特别用netbeans 开发,像桌面程序一样.生成的代码确实有点乱
      

  24.   

    不幸看到一帮sb在吼, 国内根本就是落后国外一个大阶段, 国内SSH为主, 而国外已经转向JSF和Seam了, 我是指企业应用领域, 互联网应用领域基本都是转向Restful的技术并且动态语言比重越来越高。JSF在企业应用领域的优势是不言而喻的, 自己没能力驾驭别说这东西不好。
    如果现在还抱着Struts 1.x大腿的人, 只能说, 你是受限于公司的项目, 或者说你是井底之蛙。
    Spring2.5跟Seam比, 也有很多不足的地方, 唯一还能让Spring幸存的原因就是仍然有大量项目在使用JDK1.4。
      

  25.   

    Sun公司做宣传还是有问题的,JSF本来是JSP的升级版,非要改个名字想想,如果不是JSF这个名字,而是JSP3.0 n.0  估计已经普及了
      

  26.   

    的确听说国外JSF用的很多,发展也很快
    不过骂人不好
      

  27.   

    MyFaces是用过了感觉不好用
    URL不是平常我们看到的A.jsp就是A.jsp, 鉴权不好弄。 
    如果页面做动态些,做表格等, 跟javascript交互麻烦, 不得不使用扩展非标准的JSF标签;
    JSF渲染的时候有时跟JSTL, 其他标签混着用有问题。
    Bean.get, set如果有数据源查询等要注意优化下, 不然JSF restore周期时可能多次查询get, 经常很多bean没办法都配置成session周期的。 
    Filter过滤的时候JSF周期还没开始。。
    。。
    。。
    组件化思想是好, 但是具体一些细节有待完善。 SUN都喊了那么多年了。。 普及一般。
    要不看看金蝶发飙做的JSF实现, 又一堆EXT漂亮的标签, 一般的公司哪里有那么多精力去学, 去自己实现?
      

  28.   

    wao ~又一个马克 
    拿分 ,学习中~
      

  29.   

    嗯。楼上正解。。
    觉得它不能取代Spring。。
    SSH还算好用。。
    不过运行起来沉重。。
    觉得MVC好。。
    jsp+service+javaBean..
    最经典模式
    既然都能做出一模一样的事情
    框架有毛用啊!!!!!!!!!
    在此呼吁,我中华上百万程序员,一起抵制国外框架!!!!!!!!!!!!!