简述学习JSF小记

开发 后端
本文秒素学习JSF的过程,以及介绍JSF项目与jsp项目的最大不同之处。

学习JSF有一段时间了,从刚开始对JSF的好奇到现在对JSF的渐渐熟悉,花费了不少时间,但所获还是甚少。提到JSF,我们总喜欢把它跟jsp作比较,这很正常。我认为JSF是站在jsp这个巨人的肩膀上,才能有如此的成就。JSF看似像是一个类似于struts的框架,但又不仅是如此。虽然 Struts和JSF都属于表现层框架,但两者分属不同性质的框架,后者是一种事件驱动型的组件模型,而Struts只是单纯的MVC模式框架。从技术上说,JSF提供了一套类似于html的统一标签,但这种标签不是简单的静态标签,而是动态的。

学习JSF的起步,我们按照惯例先从一个demo开始。在使用eclipse开发***个JSF的demo前,先要去下载JSF的几个jar包:JSF-impl.jar,JSF- api.jar,commons-digester.jar,commons-collections.jar,commons- beanutils.jar,jstl.jar,standard.jar。你可以把他们先放到Web应用程序的/WEB-INF/lib目录下,或者以后再添加进去。

在eclipse中新建一个JSF项目,“新建”—“web project”,它跟创建一个jsp项目完全相同。完成后,右键项目名,选择“myeclipse”—“add JSF facelets capabilities……”,这相当于添加了对JSF的支持平台。打开项目,我们可以看到熟悉的文件路径,几个jar包,webroot文件夹,index.jsp,web.xml文件等。不过这个多了一个face-config文件,这也是JSF项目与jsp项目的***不同之处。接下来,我们要配置web.xml文件,还有faces-config文件。

如果你以前使用过struts,那么你肯定熟悉struts里面的struts-config文件,它与faces-config何其相似。faces-config的参数配置主要有以下几个:

1.navigation- rule(导航规则)。它由<from-view-id>(起始页面),<navigation-case>(导航案例)两部分组成。在“导航案例”中,有<from-action>(导航动作),<from-outcome>(导航结果),<to-view-id>(目的页面)等。通过这个配置,我们告诉web应用程序在什么时候跳转,如何跳转,以及从哪个页面跳转到哪个页面。

2.managed-bean(托管bean)。托管bean主要有以下几个部分:<managed-bean-name>(托管bean的实例名),<managed-bean-class>(托管bean类的全名),<managed-bean-scope>(托管 bean的作用域)。scope有none,request,session,applicaton等。application不常用,用得较多的就是 session和request了。request表示bean的存活时间为程序请求阶段,而session的存活时间为程序交互开始,直到浏览器关闭或者会话结束。在faces-config的“design”视图中,我们可以很方便地进行配置,

下一步,我们开始在eclipse中编辑学习JSF页面的内容,为了简便,我们直接对index.jsp页面进行修改。在页头我们需要添加一些jsp的page指令和常用的html,head和body标签(有的已经自动生成),如以下:
◆<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8" language="java"%>
◆<html><head><title>……
同时,还要添加声明2个JSF标准的标签库描述文件:
◆<%@ taglib uri="http://java.sun.com/JSF/core" prefix="f"%>(JSF标记标签)
◆<%@ taglib uri="http://java.sun.com/JSF/html" prefix="h"%>(JSF的html用户界面组件标签)
此外,页面中还需要加入view和form标签,因为所有的JSF组件标签必须定义在view这个标签之内。  

【编辑推荐】

  1. JSF标记与JSTL标记混合使用
  2. 升级JSF1.2的艰难之旅
  3. OSGi与JSF结合开发
  4. 使JSF支持带有HTMLMessage
  5. JSF如何使用ExternalContext
责任编辑:佚名 来源: QQ博客
相关推荐

2009-06-22 14:13:08

JSF入门

2009-06-22 15:52:15

JSF测试框架

2009-06-22 13:27:01

JSF组件模型

2009-06-23 09:53:10

JSF程序配置

2009-06-22 13:48:45

JSF是什么

2009-06-29 09:00:14

JSFJava

2009-06-29 13:06:25

JSF程序

2009-06-11 11:28:35

JSF生命周期

2009-06-23 09:05:10

Seam框架JSF

2009-09-23 17:56:45

JSF入门

2009-09-29 17:22:30

Hibernate S

2009-06-19 13:37:53

Spring JDBC

2009-06-25 11:11:25

控制JSF切入点

2009-06-26 13:48:57

G4JSFGWTJSF

2009-06-26 14:06:08

JSF基础框架

2009-06-26 10:22:58

JSF测试

2009-06-23 15:51:00

JSF框架

2009-06-24 13:06:41

JSF组件Facelets

2009-06-23 17:38:57

ExternalConJSF

2009-06-22 14:22:41

JSF和Tapestr
点赞
收藏

51CTO技术栈公众号