网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > J2EE > J2ee核心 > 使用JSF(Java Server Faces)开发(一)  

使用JSF(Java Server Faces)开发(一)

2004-05-27  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  Java Server Faces(JSF)技术为开发基于网络用户界面的Java开发者提供了标准的编程接口API以及标记库。Apache Struts框架的作者Craig McClanahan,协助领导了Sun公司的JSF项目。这使项目能够容易的从流行的Apache向JSF标准移植得到了保证。就像Struts框架一样,JSF定义了一套JSP标记,能够生成与JavaBean属性绑定在一起的HTML表单元素。从应用开发者的角度看,两种框架是很相似的,但是JSF可能将会得到更多的支持。因为JSF是Java的标准。在未来的发展中,有可能所有的J2EE应用服务器都需要支持JSF(Java Server Faces)。
  
  Sun公司在已经发布的免费下载开发包Java Web Services Developer Pack 1.2 (http://java.sun.com/webservices/downloads/webservicespack.html)中,包括了JSF详细说明(JSF Specification Version 1.0, Public Review Draft 2)的参考实现(Early Access 4 — EA4)。EA4版本实现了许多新特性:动作、beans管理和导航规则。本文将集中介绍这些新特性以及展示如何从JSF的开发中得到好处以便建立表单,确认用户输入以及将用户界面组件与JavaBean属性绑定起来。
  
  本文包含一个由四个主要部分组成的网络应用:
  
  1.     JavaBean类(PBean.java),作为数据模型保存一些文本以及相关属性:字体、大小、 颜色、摆放位置等;
网管u家u.bitscn@com

  
  2.     基于JSF的表单(edit.jsp),使用户可以为JavaBean的属性赋值;
  
  3.     Java类(PBuilder.java),用给定的文本按照其属性值生成HTML页面程序;
  
  4.     JSP页面(view.jsp),显示生成的HTML页面。
  
  JavaServer Faces(或者叫JSF)是服务端程序开发新的发展趋势。它可以使你更轻松的的设计程序,你的程序也能够更容易维护,甚至可能还会使你的工作更有趣。Budi Kurniawan向我们展示了JSF技术,解释了为什么JSF如此有用以及它是否实现了所承诺的功能。
   
  制作JSF表单
  当你开发网络应用时,处理HTML表单是最常见的一项任务。一个好的框架能够节省很多开发时间,因为许多日常的程序操作可以自动的完成或是减少到最低限度只需要在XML文件中用几行完成。这也有可能简化使用JSP标记库的网络开发。Java Server Faces框架提供了JSP标记,用于描述表单、管理表单状态、确认用户输入以及报错、将用户界面组件与JavaBean属性绑定在一起以及其他许多可提高开发效率的功能。JSF也有丰富的编程接口可用于建立定制的用户界面(UI)组件,定制验证类(验证器validator)以及服务端的事件监听器。
   网管有家bitscn.net
  JSF包含两类标记库分别叫JSF核心库与HTML基础库。前者提供普通的标记和一些用于在用户界面组件中注册验证器以及事件监听器的标记。后者包含用于描述用户界面组件的JSP标记,如:按钮、文本域、复选按钮、列表等。文件edit.jsp用这些标记建立了表单。两种标记库的标准前缀是f和h,并且定义在edit.jsp文件的最前面:
  
   <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"; %>
   <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"; %>
  
  标记是容器标记,必须包含所有在同一页面中出现的JSF标记。该标记不会产生任何HTML内容,但是它会触发JSF的内部机制。标记产生能够包含用户界面元素的HTML元素

  
  
  
  Edit
  
  
  
  
    
    ..........
    

  

  
  
  
  
  上面的JSP代码生成下面的HTML片断:
  
  
  
  Edit
   网管网www.bitscn.com
  
    
    ..........
    

  
  
   
  下一部分介绍应用的JavaBean模型。
  
  管理Bean
  像其他一些Web框架一样,JSF将用户界面从封装数据以及应用逻辑的对象模型中分离出来。当HTML用户界面由JSF标记产生时,JSF框架从JavaBean模型获得数据并设置HTML表单用户界面组件的属性状态。用户提交表单时,JSF验证用户输入,如果全部正常JSF就将用户输入保存到JavaBean模型并且HTTP请求会根据“导航规则”进入下一页面。如果验证出现错误,JSF回到表单并返回错误信息,这样用户就可以纠正错误输入。
  
  类Pbean遵循JavaBean规范,实现了java.io.Serializable并为其属性(文本、大小、字体、颜色、摆放位置、粗体、斜体、下划线)提供了相应的get及set方法。JSF每一个应用的用户都创建了一个PBean的实例,该实例存储在JSP的会话(session)中并在名为faces-config.xml的XML格式配置文件中指定ID。JSF也会根据faces-config.xml文件提供的数据初始化JavaBean实例的属性值。该XML文件还可能包含其他JSF配置参数,如:导航规则,我们将在后面的章节介绍。

网管u家u.bitscn@com


  
  下面的XML程序片断包含由JSF所管理的JavaBean的声明:
  
  
  
      "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_0.dtd";>
  
  
    ..........
    
      pbean
      
        com.devsphere.articles.usingjsf.PBean
      

      session
      
        text 网管联盟bitsCN@com
        
      

      
        size 网管u家u.bitscn@com
        3
      

      
        font 网管u家u.bitscn@com
        
          Arial
          Courier New
        

      

      
        color 网管有家bitscn.net
        green
      

      
        align 网管u家bitscn.net
        left
      

      
        bold 中国网管联盟bitsCN.com
        false
      

      
        italic 网管联盟bitsCN_com
        true
      

      
        underline
网管u家u.bitscn@com

        false
      

    

  

  
  由JSF创建的管理bean能够根据元素的值而存储在请求(request)、会话(session)或应用的范围内。元素的值可为空值。如果一个对象已经指定了ID并注册在给定的范围内那么JSF不会建立JavaBean实例。
TAGs开发   JSF   标记   表单   JavaBean   以及   HTML   属性    
 上一篇:使用JSF(Java Server Faces)开发(二)   下一篇:优化entity Bean的七条准则
相关文章列表
使用JSF(Java Server Faces)开发(一) 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.对J2EE应用系统分层设计的思考
2.JLDAP 连接池的创建及测试程序
3.Ruby on Rails 和J2EE:两者能否共存?
4.评点Flex结合J2EE的开发与架构
5.如何才算掌握了Java EE
6.排序链树搜索算法在GIS POI关键字搜索中
7.Maven2 Pom.xml元素详解
8.通过JMX来获得web service的信息
9.Java Persistence API (JPA) 的陷阱
10.Apusic Operamasks的资源注入
最新推荐文章:
1.J2EE中SQL语句自动构造方法
2.J2EE系统优化之对象与循环
3.经验交流:学习J2EE流程中的经验和教训
4.基于NetBeans 比较Java EE 5平台和J2EE 1
5.初学者如何开发出一个高质量J2EE系统
6.编写JSR-168 Portlet指南
7.基于J2EE的电子商务开发模型及其实现
8.JNI调用C/C++方法从控制台输入密码
9.在NetBeans 4.1中使用Swing组件
10.Java EE/J2EE面向对象编程之道
网管论坛交流:
·大家来开心一下吧---看了会很开心的东西-
·中国人不可不知道的知识
·@@小鹏◎◎小鹏同志与某位女明星亲密接触
·◎◎小鹏◎◎发现不明生物,居然正在交配
·[图文]^^^版主是什么?????
·泡论坛的女人是好女人
·做个“水性杨花”的女人
·献给mm俱乐部的所有mm
·深圳一集团企业电脑基础应用培训教程
·■■■■十一遊玩照■■■■■