JSF初步介绍

本文介绍了JSF(JavaServer Faces)框架,它是以事件驱动为核心、组件和标签封装程度高的Web框架。阐述了backing bean的概念,介绍了JSF的主要特性,如Managed Bean、IOC机制等。还详细说明了JSF的配置过程,包括Web.xml、配置文件和库的设置,并给出简单应用示例,最后提及了JSF未来将成为J2EE5.0的标准框架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  概念

什么是JSF

      JSF是JavaServer Faces的缩写.JSF是事件驱动为核心,组件和标签的封装程度非常高的Web Framewrok.

什么是backing bean

      backing bean定义了与页面中使用的UI组件相关联的属性和处理逻辑。backing-bean属性邦定于一个组件实例或某实例的value.

JSF的主要特性

1.Managed Bean/Backing Bean(POJO Java Beans,不用实现特定接口、也无须继承特定类)

2.IOC机制,实现POJO对象间的依赖注射(借鉴了spring的思想)

3.Event模型(分为两大类: 启动后端处理的; 前段UI事件处理的)

4.组件/tags的使用

5.开发Custom UI Components

Hello World与简单应用

  JSF的配置

l    Web.xml 配置JSF 应用的引擎

<context-param>

    <param-name>javax.faces.CONFIG_FILES</param-name>

    <param-value>/WEB-INF/faces-config.xml</param-value>

</context-param>

<servlet>

    <servlet-name>Faces Servlet</servlet-name>

    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

    <load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

    <servlet-name>Faces Servlet</servlet-name>

    <url-pattern>*.faces</url-pattern>

</servlet-mapping>

JSF的配置

l    增加JSF配置文件

     web.xml中定义的javax.faces.CONFIG_FILES参数增加JSF配置文件.例如:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<faces-config/>

 JSF的配置

l    COPY LIBWEB-INF/lib

l   jsf-api.jar 包含有 Faces servlet 与其它相关 javax.faces 包下面的类

l   jsf-impl.jar JSF 的参考实现

HelloBean

      public class HelloBean {

          public String say(String name) {

              return "你好," + name;

          }

    }

HelloDelegater

      public class HelloDelegater {

        private HelloBean helloBean;

                   .

                   .

                   .

          public String say() {

            this.setResult(helloBean.say(this.getName()));

              return "ok";

          }

    }

 

JSF配置文件

    <managed-bean>

         <managed-bean-name>HelloBean</managed-bean-name>

         <managed-bean-class>org.mike.jsf.model.HelloBean</managed-bean-class>

         <managed-bean-scope>request</managed-bean-scope>

    </managed-bean>

    <managed-bean>

        <managed-bean-name>HelloDelegater</managed-bean-name>

        <managed-bean-class>org.mike.jsf.model.HelloDelegater

        </managed-bean-class>

        <managed-bean-scope>request</managed-bean-scope>

        <managed-property>

            <property-name>helloBean</property-name>

            <value>#{HelloBean}</value>

        </managed-property>

    </managed-bean>

 

n      JSP文件

    <h:form>

        <h:panelGrid columns="3">

            <h:outputLabel for="name" value="姓名:"/>

            <h:inputText id="name"

                    value="#{HelloDelegater.name}" required="true"/>

            <h:message for="name"/>

            <h:outputLabel value="#{HelloDelegater.result}"/>

        </h:panelGrid>

        <h:panelGroup>

            <h:commandButton action="#{HelloDelegater.say}"

                    value="提交" rendered="true"/>

        </h:panelGroup>

    </h:form>     

未来的发展

JSF将是J2EE5.0中所包含的web开发框架,这应该是第一个成为jcp标准,并且随j2eesdk一起发布的web框架,可以看出sun对它的期望很高。

JavaServer Pages(JSF) Java WEB 编程中已经被认为是下一个重大的事件。通过 JSF ,你可以在网页上使用 WEB 组件,来捕获用户行为产生的事件。不远的将来,Java 工具将支持这个技术,开发 WEB 应用程序将与我们现在开发 SWING 程序类似:拖放控件、写事件侦听器。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值