`

Jsf Mbean Scope

    博客分类:
  • Jsf
阅读更多

JSF中的MBean,其实MBean就是一个JavaBean,因此它有着和JavaBean相同的要求。 最后是MBean的配置,JSF的MBean需要在faces-config文件中做配置,配置方法如下:

 <managed-bean>

<description>demo of config</description>

 <display-name>userInfo</display-name>

<managed-bean-name>user</managed-bean-name>

 <managed-bean-class>net.moon.beans.UserInfo</managed-bean-class>

 <managed-bean-scope>session</managed-bean-scope> </managed-bean>

 

下面再对manage-bean-scope进行一下详细的解释,其有效取值为:application, session, request, none。很容易理解,它们的存活周期分别如下:

 Name Scope

Application 整个应用

Session 整个对话

Request 整个请求

 None 需要时,临时

大家知道,JSF是以JSP为基础的,那么,对于JSP的九大对象来说,这四种scope的信息到底是怎么存储的呢?经过测试证明,scope为applicatoin的MBean的实例保存在ServletContext中,也就是JSP中的application中,因此我们可以用如下的方法得到某个类的引用:

FacesContext fc = FacesContext.getCurrentInstance();

UserInfo ui = (serInfo)fc.getExternalContext().getApplicationMap().get("user");

 

对session级别的MBean,我们可以用如下方法得到其引用:

FacesContext fc = FacesContext.getCurrentInstance();

UserInfo ub = (UserInfo)fc.getExternalContext().getSessionMap().get("userInfo");

当然,我们也可以用其它的方法得到session对象后,从session中取出实例。 对request级别的MBean,我们可从request对象中取得,代码如下:

 FacesContext fc = FacesContext.getCurrentInstance();

HttpServletRequest request = (HttpServletRequest)fc.getExternalContext().getRequest();

 UserInfo ui = (UserInfo)request.getAttribute("user");

 

至于none类型的MBean,应该只能得到新的实例了。

 当然,JSF提供了另外的访问MBean的方法,我们可以用如下的代码得到MBean的实例:

 FacesContext context = FacesContext.getCurrentInstance();

ValueBinding binding = context.getApplication().createValueBinding("#{user}");

UserBean user = (UserBean) binding.getValue(context);

 

也可用如下的代碼直接得到MBean的一個屬性:

 FacesContext context = FacesContext.getCurrentInstance();

 ValueBinding binding = context.getApplication().createValueBinding("#{user.name}");

String name = (String) binding.getValue(context);

分享到:
评论

相关推荐

    jsf实例jsf实例 JSF学习 JSF jar包 JSF

    jsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSFjsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSF

    JSF Java Server Faces (JSF)框架

    JSF是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。JSF(Java Server Faces)技术为开发基于网络用户界面的Java开发者提供了标准的编程接口API以及标签库。就像Struts框架...

    jsf第一个例子 jsf架包 jsf实例

    **JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,用于构建Web应用程序。它为开发人员提供了一种模型-视图-控制器(MVC)架构,简化了前端和后端之间的交互。JSF提供了组件库,使得创建动态、交互式的...

    JSF上传 JSF大文件上传 JSF上传代码 JSF上传源代码

    JSF(JavaServer Faces)是Java平台上用于构建用户界面的Web框架,尤其在处理表单和数据交互方面表现强大。本项目聚焦于JSF的文件上传功能,特别是针对大文件的上传,允许用户上传最大可达1.99GB的文件。在实际应用...

    《JSF_实战》非常好的JSF学习书

    《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF...

    JSF中文教程jsf

    **JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,用于构建Web应用程序。它简化了开发人员创建交互式、数据驱动的Web界面的过程。JSF提供了一个组件模型,允许开发者通过拖放组件的方式来构建用户界面...

    JSF入门+JSF web实战+JSF2

    JavaServer Faces(JSF)是Java平台上的一种用于构建Web应用程序的MVC(Model-View-Controller)框架。它提供了一种声明式的方式来构建用户界面,简化了开发过程,并且与Java EE平台无缝集成。本系列资料包括《JSF...

    JSF的工作方式 JSF架构 JSF模型 JSF事件类型

    JavaServer Faces (JSF) 是一个用于构建用户界面的Java Web框架,它简化了创建和维护Web应用程序的复杂性。JSF的核心理念是提供一种组件化的编程模型,将UI元素与业务逻辑分离,使得开发者可以专注于应用的逻辑部分...

    JSF包,jsf包,JSF包,jsf包

    **JSF(JavaServer Faces)** 是一种Java平台上的Web应用程序开发框架,它提供了一种组件化和事件驱动的方式来创建用户界面。JSF的核心概念包括组件、事件、渲染器和生命周期,这些元素共同构建了一个强大的MVC...

    jsf-api.jar和jsf-impl.jar

    **JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,用于构建Web应用程序。它提供了一种组件化和事件驱动的方式来创建交互式的Web界面。JSF API 和 JSF Impl 是JSF框架的核心组成部分。 **jsf-api.jar**...

    jsf分页 jsf分页 jsf分页

    在JavaServer Faces (JSF)框架中,分页是一种常用的技术,用于处理大量数据时提供更好的用户体验。当数据集过大,一次性加载所有记录到页面上会导致性能下降且用户界面响应变慢。通过分页,我们可以将数据分成多个...

    JSF文件下载实现

    **JSF 文件下载实现** 在JavaServer Faces (JSF)框架中,实现文件下载功能是一项常见的需求。在本文中,我们将深入探讨如何使用JSF来实现在Web应用程序中下载文件的功能。主要涉及的关键知识点包括: 1. **JSF上...

    JSF全套(JSF入门教+ LIB+ Ajax4JSF使用手册 )

    JavaScript Faces (JSF) 是Java平台上的一种用于构建用户界面的模型-视图-控制器(MVC)框架,它简化了Web应用程序的开发。本资源包包含了JSF从入门到进阶的多个方面,包括基础教程、核心组件库(LIB)、Ajax4JSF的使用...

    core jsf 1.2 jsf 核心

    **JSF 1.2核心详解** JavaServer Faces (JSF) 是Java平台上的一个用于构建用户界面的组件模型框架,特别适用于Web应用程序的开发。JSF 1.2是该框架的一个重要版本,它在JSF 1.1的基础上进行了一系列的改进和增强,...

    开发JSF所需要的jar包

    JavaServer Faces(JSF)是Java平台上的一种用于构建Web应用程序的MVC(Model-View-Controller)框架。它提供了一种组件化的方式来构建用户界面,简化了前后端交互的复杂性。在JSF中,开发者可以使用声明式编程模型...

    JSF开发必备JAR

    ================================= JSF开发必备JAR ================================= &lt;br&gt;《JSF入门简单中文版》开篇提到JSF开发需要的jar,' 但是按其中提供的方法: &lt;br&gt;jstl.jar 与 ...

    JSF帮助文档

    JavaScript Faces (JSF) 是Java平台上用于构建企业级Web应用程序的一种服务器端的用户界面框架。JSF 是Java Community Process (JCP) 规范的一部分,最初由Sun Microsystems开发,现在由Oracle公司维护。JSF的核心...

    JSF入门级教程

    JSF的核心组件包括Facelets、 Managed Beans、View Scope、Converter和Validator等。 二、JSF架构 1. **Facelets**:JSF 2.0开始引入Facelets作为默认视图层技术,它是一种XML-based模板语言,用于创建用户界面。 2...

    JSF与hibernate整合的登陆

    **JSF(JavaServer Faces)** 是Java平台上的一种用于构建用户界面的Web应用程序框架,它简化了开发人员创建和管理动态Web用户界面的过程。JSF提供了组件库、事件处理机制和生命周期管理,允许开发者通过声明式的...

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

    JSF(JavaServer Faces)是Java平台上的一种用于构建用户界面的MVC(Model-View-Controller)框架。它提供了一种声明式的方式来创建Web应用程序,允许开发者通过组件和事件处理来构建用户界面,而无需深入HTML和...

Global site tag (gtag.js) - Google Analytics