您的位置:首页 > Web前端 > JavaScript

JSF初步介绍

2005-11-04 17:50 176 查看

概念

什么是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.jarJSF 的参考实现

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 程序类似:拖放控件、写事件侦听器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: