`
nihongye
  • 浏览: 102067 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

一次和jsf的接触

阅读更多

同事看了richfaces,觉得很漂亮,决定来一次学习研究.要搞jsf,当然要收集资料啦.开动,加上两年前接触过一会jsf,一下子就收集了下面如此之多的链接:

jsf

richfaces
ajax4jsf
RichFaces Developer Guide
seam
MyFaces -
JSF Training Course Materials

stand1.1doc

jsf1.1tag
JavaServer Faces 1_1_01API
RenderKit1.1

stand1.2Doc

jsf-ri-1.2tld
JavaServer Faces API 1.2MR1
Standard HTML RenderKit

The J2EE(TM) 1.4 Tutorial
javaserverfaces: JavaServer Faces Community

question

SF: DataTable and CommandLink

china-resource

jsf opendoc
AgileJava - Discuz! Archiver
1.开始啦:发现JSF Training Course Materials的资料不错.一个个下载下来学习.基本第二个section就把jsf的特性展示出来了.
2.自己做个crud怎样呢?好吧,动手:
  首先需求:
      商店,买菜的商店
      1.商品列表,翻页
      2.编辑商品
3.咕咚咕咚的就把商品列表做出来了,

期间遇到一些不适应症状:
   翻页:以前的操作是客户端指定了页码,然后传给服务器;现在变成用一个隐藏变量放置当前页码,然后Page提供了first,next,prev,last四个方法,作为command action被调用,而Page()回调注入的PageAble接口来填充数据.
   一个最郁闷的问题是:h:datatable里面包括CommandLink的时候,CommandLink会失效.发现要使用SessionBean才能正常,或者这个调用方法总是返回相同的数据.就像The J2EE(TM) 1.4 Tutorial   的bookstore跟seam的booking例子那样(做例子也不模拟得实际点,搞得我花了半天才找到问题).

咕咚咕咚的又跑去下了The J2EE(TM) 1.4 Tutorial的教程的boostore来看,意犹未尽之下,又去下载seam的booking例子来看.运行之后,发现好神气.譬如seam在一个表格的一行用 <s:link action="#{hotelBooking.selectHotel(hot)}" value="View Hotel" id="viewHotel">,
@Begin
   public void selectHotel(Hotel selectedHotel)
   {
      hotel = em.merge(selectedHotel);
   }
 调试状态下看看,神气啊, selectedHotel居然就是用来显示那一行的hotel对象.一模一样.发现原来是state to session在起作用,.
但是想想觉得这个开销不小.要把列表的数据都丢session里.当然咯,环境允许的话这样用来肯定爽.

4.</s:link>用<s:link action="#{hotelBooking.selectHotel(hot)}" value="View Hotel" id="viewHotel">tomcat,sun提供的参考实现需要指定
  <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
   </listener>
5.参考实现跟myfaces使用request bean的运行结果有些不同.貌似myfaces支持save state to client,这样有些特性默认就有了.

最后得到的结论如果不用session bean,真不知道怎么用好jsf.这个问题如果能很好解决,感觉挺好的.?
   
      

</s:link>
分享到:
评论
13 楼 rockjava 2007-03-21  
jamesby 写道
以前有个sun 的 creator什么的编译器,支持jsf,bug一堆,从此弃用,不知道现在用jsf的有多少。

我们的项目一直在用,确实有bug但用起来也上很方便的,有利就有弊吗,没有那么完美的东西,况且JSF才1.2吗,现在apach对JSF标准实现的myface很好啊,IDE也很都支持的,比如IDEA,MyEclipse,workShop,creator,netBean很多的啊
12 楼 guoshiguan 2007-03-19  
ahuaxuan 写道
我之前也看过jsf,给我的感觉就是它的标签太恶心了,如果没有好的ide支持的话,用jsf估计会使项目周期加长

的确是这样的,我也觉得原有的标签太差,不过,现在有很多开源免费的标签可以用,这一点可以放心
11 楼 soulmachine 2007-03-18  
难道现在struts 还是遥遥领先的做老大吗?
10 楼 ahuaxuan 2007-03-18  
我之前也看过jsf,给我的感觉就是它的标签太恶心了,如果没有好的ide支持的话,用jsf估计会使项目周期加长
9 楼 jamesby 2007-03-18  
以前有个sun 的 creator什么的编译器,支持jsf,bug一堆,从此弃用,不知道现在用jsf的有多少。
8 楼 zhlmmc 2007-03-18  
JSF的确不怎么样。我用过一段时间,放弃了。真的太复杂了,而且bug很多。如果要追求组件编程的话可以看一下Wicket(http://wicket.sourceforge.net),比JSF好用太多了。IDE的支持纯粹是钱的问题。
7 楼 tmh 2007-03-18  
我一直在学习这东西,感觉挺好的,很简拮,程序很好懂,并且配制很容易,不象struts那样麻烦
6 楼 guoshiguan 2007-03-16  
LZ我近来也一直在看jsf希望能交流下,
5 楼 jvincent 2007-03-16  
Swing也是一个很好的客户端展现
4 楼 flydeer2003 2007-03-16  
swing好像跟JSF没啥关系吧,一个是GUI,一个是WebUI框架。楼主提到的分页问题,如果深入了解JSF,从组件的概念出发去解决的话,是很容易的,既可以做到load-on-demand,也不需要通过页面去麻烦的传递参数,当然也可以提供这样的支持。
3 楼 giscat 2007-03-15  
swing能火起来就好罗
2 楼 carob 2007-03-15  
giscat 写道
中看不中用,花瓶一个
     

或许你应该在深入研究后,再下结论,一项技术出现和成长总有他合适的土壤。JSF的出现已经六七年了,发展至今一直没有想象中的火爆,但现在各大厂商的支持及天生的亲IDE性,但会其有个良好的发展,况且现在JSF才1.2而已。
1 楼 giscat 2007-03-15  
中看不中用,花瓶一个
     

相关推荐

    学习笔记学习笔记笔记

    2. **Web应用开发**:JSF是Web应用开发的一部分,因此笔记可能包含如何创建和配置JSF项目、使用JSF与Servlets和JSP的交互、以及与数据库的连接和数据处理。 3. **日期标记的学习内容**:2009-11-1的文档可能是特定...

    liliya

    此文档由Mohammed LOUKILIELFAHSSI和Abdelghani BOUASSOULE共同撰写,版本为1.0 Beta1,最后一次修改时间为2007年6月8日10点30分24秒。文档涵盖了从Lilya的概述、要求、兼容性到运行演示、开始使用Lilya、快速入门、...

    java 程序设计

    Java是由Sun Microsystems(现为Oracle公司)于1995年推出的,它以其“一次编写,到处运行”的特性闻名,广泛应用于桌面应用、服务器端应用、移动应用(尤其是Android平台)以及云计算等领域。 在学习Java程序设计...

    关于J2EE的基本知识

    1. **会话Bean(Session Beans)**:代表一次客户端会话,处理业务逻辑,可以是无状态(Stateless)或有状态(Stateful)。 2. **消息驱动Bean(Message-driven Beans)**:用于处理JMS(Java Message Service)...

    小型购书商城

    【小型购书商城】是一个基于Java技术开发的在线购书平台,它采用了经典的三层架构设计,包括表现层、业务逻辑层和数据访问层,旨在提供高效、稳定的图书销售服务。这个项目的核心是利用Java JDBC(Java Database ...

    java学习心得4000字.doc

    - **最后一次的疑惑**:面临更高阶的技术挑战,如框架的应用等。 - **最终理解**:经过系统的练习与学习,最终能够熟练运用。 面对这些心理变化,最重要的是保持耐心和持续的练习。同时,遇到难题时不应急于求助,...

    Xkins-开源

    JSF是一种用于构建用户界面的Java标准,它提供了丰富的组件库和事件处理机制,使得开发人员可以更专注于业务逻辑,而不是底层的UI实现。 在提供的压缩包文件中,我们可以看到以下几个关键文件和目录: 1. README....

    卡尔加里·哈克斯2021

    它以其“一次编写,到处运行”的特性赢得了全球程序员的喜爱。Java具有平台无关性,因为它运行在一个称为Java虚拟机(JVM)的环境中,这使得Java代码可以在任何支持JVM的操作系统上运行。此外,Java还有丰富的类库和...

    CS680

    它的设计理念是“一次编写,到处运行”,这意味着编写的Java代码可以在任何支持Java的平台上运行,无需重新编译。这一特性得益于Java的虚拟机(JVM)。 Java语言的关键特性包括: 1. **面向对象**:类、对象、封装...

    CSE215.10-SvA

    Java以其“写一次,到处运行”的特性闻名,它有丰富的类库和强大的社区支持。 根据【压缩包子文件的文件名称列表】"CSE215.10-SvA-main",我们可以推测这可能是一个项目的主目录,包含该课程的主要代码或资源。在...

    Java经典入门教程pdf完整版

    准版,JEE不仅巩固了标淮版屮的诈多优点,例如“编写一次、随处运行”的特性、方便存 取数据库的 JDBC API、 CORBA技术以及能够在 Internet应用中保护数据的安全模式等等, 同时还提供了对BJB( Enterprise java beans)...

Global site tag (gtag.js) - Google Analytics