`
2277259257
  • 浏览: 515389 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

web------JSF

 
阅读更多
  • 富互联网应用程序 (AJAX)
  • 基于组件的 Web 客户端 (JSF)
  • 基于动态标记的 Web 客户端 (JSP)
  • 桌面集成客户端 (Swing) 

JavaServer Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架。它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发。JavaServer Faces 还引起了广大 Java/Web 开发人员的兴趣。“企业开发人员”和 Web 设计人员将发现 JSF 开发可以简单到只需将用户界面 (UI) 组件拖放到页面上,而“系统开发人员”将发现丰富而强健的 JSF API 为他们提供了无与伦比的功能和编程灵活性。JSF 还通过将良好构建的模型-视图-控制器 (MVC) 设计模式集成到它的体系结构中,确保了应用程序具有更高的可维护性。最后,由于 JSF 是通过 Java Community Process (JCP) 开发的一种 Java 标准,因此开发工具供应商完全能够为 JavaServer Faces 提供易于使用的、高效的可视化开发环境。

 

JavaServer Faces(也称作 JSF,或简称为“Faces”)是一个用于构建 Web 应用程序的基于组件的框架,该框架并入了 JavaBean 事件模型,用于将信息发送到其他组件。

作为 J2EE Web 技术的发展,JavaServer Faces 将基于模板的编程式 Web 开发与 4GL 类型的开发选项结合在一起。

 

JavaServer Faces 可以作为独立的 Servlet 在 J2EE1.4 应用服务器中使用。 Web 并非为需要事务和状态处理的业务应用程序而设计。开发人员花费了大量时间使用各种技术(如隐藏的 HTML 域、cookie、URL 或会话参数)来跟踪 Web 应用程序的状态,而这样做仅仅为了克服 HTTP 协议无状态这个问题。JavaServer Faces 有助于开发人员重新关注应用程序的业务要求,而不再关注基础的交付技术。JavaServer Faces 是一个 UI 框架,它对应用程序开发人员隐藏了 HTTP 请求 – 响应循环的细节。与 Swing 中的 JavaBean 体系结构相似,JavaServer Faces 使用通过属性公开状态和行为的 UI 组件来构建 Web 界面。尽管 JavaServer Faces 页面通常汇集在 JSP 文件中,但这并不是必需的。JSF 这项技术并非只可用于基于浏览器的应用程序,同时也可用于构建移动应用程序。JavaServer Faces 中的 UI 组件是显示不可知的。这意味着应用程序开发人员并不构建针对特定设备的应用程序,而是构建可以在许多设备上运行的应用程序。JSF 中的 UI 组件呈现器类(打包的呈现器集的一部分)决定 UI 的可视化表示。如果初始应用程序请求来自 Web 浏览器,则该表示采用 HTML 格式,否则应用程序将按照请求客户端设备所支持的方式呈现(假设该设备类型存在一组呈现器类)。

类似文本域这样的 UI 组件通过 ExpressionLanguage (EL) 值绑定绑定到 (JSF) 管理的 bean 模型上。在值绑定中,EL 用于引用辅助 bean 中的 setter 和 getter 方法对。例如,EL 表达式 #{users.firstname} 将 JSF 组件绑定到用户 bean 中的 setFirstname 和 getFirstname 方法上。EL 绑定另一个可能的形式是方法绑定。方法绑定引用受管理 bean 中的方法,并在 JSF 中(就像在按钮中一样)用于将操作属性绑定到视图层逻辑,以便在复杂导航情形下或者在需要导航前和导航后处理的情况下执行。

 

受管理 bean 的另一个角色是将 UI 组件绑定到域数据,例如访问 JDBC 查询的结果集或查找 Enterprise JavaBean (EJB) 会话。此外,页面上的 UI 组件可能在辅助 bean 中包含一个用于以编程方式访问的表示。

 

Oracle 应用程序开发框架 (ADF) 和 JavaServer Faces:

Oracle ADF 可用于通过声明方式将 JavaServer Faces 和 ADF Faces 组件绑定到业务服务数据,使用 Oracle ADF 绑定为 JavaServer Faces Web 应用程序开发人员提供了一个统一的开发 API,用于访问 Web 服务、Enterprise Java Bean、TopLink、POJO、ADF 业务组件以及其他类型的业务服务。

ADF Faces 是一组基于 JavaServer Faces API 构建并可以部署到任何 JSF 实现(如由 Sun 或 Apache MyFaces 提供的参考实现)的 100 多个 JSF UI 组件的总称。除了适用于浏览器客户端的 HTML 呈现器工具包以外,ADF Faces 还为在 telnet 客户端、移动设备和 PDA 上显示的 Web 应用程序提供了呈现器,并支持作为显示不可知 Web 应用程序开发环境的 JavaServer Faces 的强大功能。

为将 ADF 与 JavaServer Faces 应用程序集成,表达式语言值绑定访问 ADF 绑定对象,而非辅助 bean 中的数据。ADF 绑定对象(默认情况下名为“bindings”)由 ADF servlet 在应用程序初始化过程中创建,并使开发人员能够访问通过 ADF 数据控件和绑定层公开的所有集合和方法。

要以编程方式引用和使用辅助 bean 中的 ADF 绑定对象,可以通过 faces 配置中的 ExpressionLanguage 表达式 #{bindings} 访问绑定对象并将其作为受管理属性的值注入到辅助 bean 中。

 

 

第一步,创建web工程

 

J2ee下创建web project,这没什么说的了,不过以前在eclipse中总是不知道怎么创建web应用,够傻的,原来需要插件,在myeclipse提供了全套的插件。不过Myeclipse需要破解。中国程序员似乎很少用正版的。言归正传,Myeclipse中需要在Open Perspective中选择J2ee enterprse视图。然后创建web project。这跟delphi的New一个project不太一样,delphi把所有可以new的都放在一个窗口中,而eclipse有不同的视图来提供管理,这算一种进步吧,插件化的进步。接下来需要 Add JSF Capability,因为这个类库(不知道是否应该称为类库)支撑了JSF开发需要的组件。

 

第二步,创建bean

 

在New-àother中的Myeclipse-àweb-JSF下有managed bean,创建bean可以连Java类文件一起创建,且可以将需要的属性一起完成,myeclipse可以自动完成属性的get,set方法。是个比较酷的功能。

 

第三步,创建,编辑jsp文件

 

在工程的webroot-->web-inf下面有一个facesconfig.xml文件,这个文件是Javabean的管理文件,同时它管理了页面之间的切换关系,起到导航页面的作用。有趣的是这个文件居然有个漂亮的design界面,可以在上面创建新的jsp文件,且可以用拖拽方式定义页面之间的关系,让所有页面的关系看起来很直观。感觉这里是个很酷的设计。页面的导航是根据一个字符串来作为判断依据的,所以在配置导航关系时,只要设定From outcome的值为调用bean方法的返回值即可。值得注意的是,JSF对于导航值只允许string类型。

 

Jsp页面的编写其实很方便,即使不太懂,因为myeclipse提供了拖拽式的页面设计,如果熟练直接写代码也很好玩吧。我以前一直很讨厌html的代码,因为觉得太机械了,且不好记忆,这会得硬着头皮学了,不过在这种拖拽式的设计中可以省不少力气。记得jsp中使用Java采用”<% %>”的方式,这会是:”#{}” 直接以bean来调用。

 

第四步,本地化

 

如果需要考虑国际化的问题,那么需要创建一个.properties的文件,否则可以跳过这里。.properties文件需要创建到源码文件的目录下,否则在指定位置时便会找不到它。.properties文件的配置非常简单,如同一个ini文件。如:"username=user name", 如果要显示中文的话,这里需要转化为unicode,jdk带了一个native2ascii的小工具可以轻松转换,不过这个玩意每次复制的时候都要先将编辑设为“标记”。不知道有没有更方便的工具。另外如果要支持中文的.properties文件需要以_zh_CN结尾才行。在jsp文件中使用下面形式定义:

 

 

 

然后就如同Java中的类一样使用了

 


不知道为什么,我的myeclipse中输入msg.时不能出现代码提示。

 

第五步,调试,运行

 

启动tomcat,输入url就可以运行了。不过文件的后缀不能是.jsp,必须为.faces.

分享到:
评论

相关推荐

    JSF编程WEB-INF下lib内所用到的jar包集成

    `webui-jsf.jar`包含了基本的JSF UI组件,如按钮、输入字段等,而`webui-jsf-suntheme.jar`则提供了Sun Microsystems的主题样式,用于定制UI的外观和感觉。 2. **jsf-impl.jar** 和 **jsf-api.jar**: 这是JSF的...

    javaee.jar,jsf-api.jar,jsf-impl.jar,jstl-1.2.jar

    3. **jsf-impl.jar**:与jsf-api.jar相对应,这个文件包含了JSF的实现代码。在实际开发中,开发者通常只需要引用api.jar进行编程,而impl.jar则在运行时提供具体的实现细节,执行用户界面的渲染和事件处理等功能。 ...

    jsf-api-2.0.3.jar.zip_jsf api_jsf jar包_jsf-api-2.0.3.jar_jsf-api

    在部署包含JSF功能的Web应用到Tomcat时,确保所有必要的库,如`jsf-api.jar`(通常与`jsf-impl.jar`一起使用,提供JSF实现),被正确地添加到Tomcat的类路径(ClassPath)中是至关重要的。如果缺失这些库,应用程序...

    jsf-impl.jar jsf-api.jar

    总之,`jsf-impl.jar` 和 `jsf-api.jar` 在JavaServer Faces框架中起着核心作用,它们共同构成了JSF的运行基础,使得开发者能够高效地构建富交互的Web应用程序。在实际项目中,理解并熟练掌握这两个库的功能和用法...

    jsf-api,jsf-impl,jst1-1.2,javaee

    标题中的"jsf-api"和"jsf-impl"分别代表了JSF框架的API接口和其实现。"jsf-api" JAR文件包含了JSF框架的公共接口和类,定义了各种组件、事件和生命周期方法,供开发者在代码中引用。而"jsf-impl" JAR文件则提供了...

    jsf-api.jar

    使用`jsf-api.jar`,开发者可以轻松地整合其他Java EE技术,如EJB(Enterprise JavaBeans)、JPA(Java Persistence API)和CDI(Contexts and Dependency Injection),构建出功能强大且可维护的企业级Web应用。...

    jsf相关jar包 jsf-api.jar jsf-impl.jar

    JSF的核心组件包括`jsf-api.jar`和`jsf-impl.jar`,这两个jar包在给定的压缩文件中占有重要位置。 1. **jsf-api.jar**: `jsf-api.jar`包含了JSF框架的公共API,它是开发者编写JSF应用时所依赖的接口和类。这些...

    jsf-api.jar和jsf-impl.jar

    **jsf-api.jar** 文件包含JSF框架的接口和抽象类,这些定义了JSF应用开发所需的主要API。开发者通常需要这个库来编译他们的JSF项目,因为编译时需要知道JSF提供的公共接口和抽象类。它不包含具体的实现,而是提供了...

    jsf1.2 source code

    本文将深入探讨JSF 1.2的源码,重点关注`jsf-api`、`jsf-ri`、`jsf-tools`和`jsf-doc`这四个关键部分。 ### 1. `jsf-api` `jsf-api`包含了JSF框架的公共接口和类,这些定义了开发者如何在他们的应用程序中与JSF...

    jsf-api.jar jsf-impl.jar 等JAR包

    这些JAR包在【标题】中提到的"jsf-api.jar"、"jsf-impl.jar"以及【描述】中列出的其他文件,都是与Java Web应用程序开发密切相关的库。现在我们将详细讨论每个JAR包的功能和用途。 1. **jsf-api.jar**:JavaServer ...

    Spring-Jbpm-JSF-Example.pdf

    根据给定的文件信息,我们可以总结出以下关于“Spring-Jbpm-JSF-Example”的关键IT知识点: ### 1. **项目概述** 标题与描述提到的“Spring-Jbpm-JSF-Example.pdf”是一个示例项目,展示了如何将Spring框架、Jbpm...

    jboss-ajax4jsf-1.1.1-src

    【标题】"jboss-ajax4jsf-1.1.1-src" 是一个开源项目,主要涉及Ajax4jsf框架的源代码版本,版本号为1.1.1。Ajax4jsf是针对JavaServer Faces (JSF) 技术的一个扩展,它允许开发者在JSF应用中无缝集成Ajax功能,提升...

    core-jsf-api-1.3.zip

    【标题】"core-jsf-api-1.3.zip" 提供的是JavaServer Faces(JSF)的核心API,这是Java EE平台中的一个用户界面组件框架,主要用于构建动态、数据驱动的Web应用程序。JSF 1.3是该框架的一个早期版本,它支持Model-...

    JSF2整合Spring3------JSF学习笔记4

    **JSF2整合Spring3——JSF学习笔记4** 在Java服务器端开发中,JavaServer Faces(JSF)和Spring...总的来说,JSF2与Spring3的整合是一个复杂但非常有价值的过程,它能帮助开发者构建更高效、更模块化的Java Web应用。

    一个简单的jsf例子------JSF2学习笔记1

    - `jsf-impl.jar` 和 `jsf-api.jar` 包含了JSF2的核心实现和API,供应用程序使用。 - `commons-collections-3.1.jar` 提供了集合操作的扩展,常常用于辅助处理数据。 - `commons-beanutils-1.8.0.jar` 提供了对...

    jsf-api-1.2

    综上所述,"jsf-api-1.2"提供了丰富的API和功能,使开发者能够高效地构建和维护企业级的Java Web应用程序。通过对组件、事件、Managed Beans、视图状态、转换验证、导航、国际化以及错误处理的理解和熟练运用,...

    JSF-Java-jar包

    总结来说,JSF是一个强大的Web开发框架,通过`jsf-api.jar`和`jsf-impl.jar`这两个jar文件,开发者可以方便地构建功能丰富的用户界面,并与后端业务逻辑进行有效交互。这两个jar文件是JSF开发的基础,是学习和使用...

    javaee jsf-api

    `jsf-impl.jar`通常包含了这些实现的类和方法。JSF IMPL还包含了默认的渲染器和验证器,开发者可以根据需要覆盖或扩展这些默认行为。 **JSTL (JavaServer Pages Standard Tag Library)** JSTL是用于JSP页面的一组...

    使用带有-JSF-2-的-RichFaces.docx

    使用带有 JSF 2 的 RichFaces 本文主要介绍了使用 JSF 2 的 RichFaces 组件框架的相关知识点。RichFaces 是一个专门为 JavaServer Faces (JSF) 配套使用的大多数其他 rich/Ajax 组件框架,它与 JSF 2 的重要变更...

Global site tag (gtag.js) - Google Analytics