同事看了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! Archiver1.开始啦:发现
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>
分享到:
相关推荐
2. **Web应用开发**:JSF是Web应用开发的一部分,因此笔记可能包含如何创建和配置JSF项目、使用JSF与Servlets和JSP的交互、以及与数据库的连接和数据处理。 3. **日期标记的学习内容**:2009-11-1的文档可能是特定...
此文档由Mohammed LOUKILIELFAHSSI和Abdelghani BOUASSOULE共同撰写,版本为1.0 Beta1,最后一次修改时间为2007年6月8日10点30分24秒。文档涵盖了从Lilya的概述、要求、兼容性到运行演示、开始使用Lilya、快速入门、...
Java是由Sun Microsystems(现为Oracle公司)于1995年推出的,它以其“一次编写,到处运行”的特性闻名,广泛应用于桌面应用、服务器端应用、移动应用(尤其是Android平台)以及云计算等领域。 在学习Java程序设计...
1. **会话Bean(Session Beans)**:代表一次客户端会话,处理业务逻辑,可以是无状态(Stateless)或有状态(Stateful)。 2. **消息驱动Bean(Message-driven Beans)**:用于处理JMS(Java Message Service)...
【小型购书商城】是一个基于Java技术开发的在线购书平台,它采用了经典的三层架构设计,包括表现层、业务逻辑层和数据访问层,旨在提供高效、稳定的图书销售服务。这个项目的核心是利用Java JDBC(Java Database ...
- **最后一次的疑惑**:面临更高阶的技术挑战,如框架的应用等。 - **最终理解**:经过系统的练习与学习,最终能够熟练运用。 面对这些心理变化,最重要的是保持耐心和持续的练习。同时,遇到难题时不应急于求助,...
JSF是一种用于构建用户界面的Java标准,它提供了丰富的组件库和事件处理机制,使得开发人员可以更专注于业务逻辑,而不是底层的UI实现。 在提供的压缩包文件中,我们可以看到以下几个关键文件和目录: 1. README....
它以其“一次编写,到处运行”的特性赢得了全球程序员的喜爱。Java具有平台无关性,因为它运行在一个称为Java虚拟机(JVM)的环境中,这使得Java代码可以在任何支持JVM的操作系统上运行。此外,Java还有丰富的类库和...
它的设计理念是“一次编写,到处运行”,这意味着编写的Java代码可以在任何支持Java的平台上运行,无需重新编译。这一特性得益于Java的虚拟机(JVM)。 Java语言的关键特性包括: 1. **面向对象**:类、对象、封装...
Java以其“写一次,到处运行”的特性闻名,它有丰富的类库和强大的社区支持。 根据【压缩包子文件的文件名称列表】"CSE215.10-SvA-main",我们可以推测这可能是一个项目的主目录,包含该课程的主要代码或资源。在...
准版,JEE不仅巩固了标淮版屮的诈多优点,例如“编写一次、随处运行”的特性、方便存 取数据库的 JDBC API、 CORBA技术以及能够在 Internet应用中保护数据的安全模式等等, 同时还提供了对BJB( Enterprise java beans)...