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

JSF FacesContext 详解 二

阅读更多
JSF FacesContext 详解 二

3.3.1  获取ServletContext、ServletRequest和ServletResponse对象
可使用下列方法获取servlet信息:
●       getContext 此方法可获取Web应用中与当前请求相关联的ServletContext对象。其签名如下:
public abstract Object getContext()
●      getRequest 此方法可获取代表当前正在处理的请求的ServletRequest对象。其签名如下:
public abstract Object getRequest()
●       getResponse 此方法可获取代表当前正在呈现的响应的ServletResponse对象。其签名如下:
public abstract Object getResponse()
这些方法都是返回一个java.lang.Object对象,不是servlet特有的类型,这样就可以使JSF实现独立于其运行的环境。比如,JSF既可用于Web容器,也可以用于其他容器,如portlet等。
3.3.2  获取ServletContext特性
getApplicationMap方法返回一个包含ServletContext对象里全部特性名/值对的Map对象。下面是此方法的签名:
public abstract java.util.Map getApplication()
作为一个例子,下面的代码可获取一个名叫databaseUtility的特性:
Object contextAttribute = null;
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
Map contextMap = externalContext.getApplicationMap();
if (contextMap!=null)
contextAttribute = contextMap.get("databaseUtility");
3.3.3  获取Session对象及其特性
通 过ExternalContext对象可访问与当前请求相关联的Session对象。getSession方法可取回当前用户的 javax.servlet.http.HttpSession对象,如果当前用户没有相应的Session对象,此方法的行为由传入的参数决定:如果为 该方法传入了一个true值,它会创建一个Session对象;否则,它会返回null。下面是getSession方法的签名:
public abstract Object getSession(boolean create)
此方法其实是javax.servlet.http.HttpServletRequest接口中getSession方法的包装器。
getSessionMap方法返回一个包含与当前请求相关联的Session对象里所有特性名/值对的Map对象。下面是它的方法签名:
public abstract java.util.getSessionMap()
要 获取Session对象里的特性,可调用Map类的get方法,传入要获取的特性名即可。文档中没有指明在当前请求没有相应Session对象的情况下, 此方法是返回null还是一个空的Map对象。所以在调用Map的get方法之前,需要先检查Map是否为null。下面的代码是获取Session特性 的例子:
Object sessionAttribute = null;
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
Map sessionMap = externalContext.getSessionMap();
if (sessionMap!=null)
sessionAttribute = sessionMap.get(key);
最后一行的key是一个包含特性名的字符串。
3.3.4  获取ServletContext对象的初始参数
getInitParameter方法是ServletContext对象的getInitParameter方法的包装器,用这个方法可以提取在部署描述符(web.xml文件)里用context-init元素指定的初始参数值。此方法的签名如下:
public abstract String getInitParameter(String parameterName)
举例来说,如果在部署描述符声明了如下context-init元素:
<context-param>
<param-name>contactPerson</param-name>
<param-value>Scott Jobim</param-value>
</context-param>
下面代码中的字符串变量initParam的值会是Scott Jobim。
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
String initParam = externalContext.getInitParameter("contactPerson");
getInitParameterMap方法返回一个包含ServletContext对象中全部初始参数的Map对象。其签名如下:
public abstract java.util.Map getInitParameterMap()
为了获取一个初始参数的值,使用Map对象的get方法,同时传递初始参数的名称。比如,下面的代码把初始参数databaseName的值输出到控制台。
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
Map paramMap = externalContext.getInitParameterMap();
if (paramMap!=null) {
System.out.println(paramMap.get("databaseName"));
}
3.3.5  获取Request对象的特性
getRequestMap方法返回一个包含当前Request对象中全部特性名/值对的Map对象。其方法签名如下:
public abstract java.util.Map getRequestMap()
作为一个例子,下面的代码可用来提取Request对象里的特性:
Object requestAttribute = null;
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
Map requestMap = externalContext.getRequestMap();
if (requestMap!=null)
requestAttribute = requestMap.get(key);
最后一行里的Key是一个包含要提取的属性名的字符串
分享到:
评论

相关推荐

    JSF FacesContext 详解

    JSF FacesContext 详解 FacesContext 是 JSF 框架中一个核心组件,它负责管理 JSF 请求的状态信息。在 Faces API 中,FacesContext 和 ExternalContext 是两个经常使用的类,本文将详细介绍 FacesContext 的编程...

    jsf2+spring sample

    【JSF2与Spring整合详解】 JavaServer Faces 2(简称JSF2)是Java平台上的一个企业级的用户界面框架,它为构建基于Web的应用程序提供了组件化、事件驱动的模型。而Spring框架则是Java后端开发的核心框架,以其依赖...

    jsf1.2

    **JSF 1.2 框架详解** JavaServer Faces (JSF) 是一个用于构建用户界面的Java EE框架,特别适用于Web应用程序的开发。JSF 1.2是该框架的一个重要版本,它在1.1的基础上进行了许多改进和增强,提供了更丰富的功能和...

    JSF实战(中英版)

    **JSF实战(中英版) - JavaServer Faces技术详解** JavaServer Faces(JSF)是一种基于组件的、用于构建Web应用程序的Java EE框架。它为开发者提供了丰富的UI组件库和一套完整的工作流程,简化了前端与后端的交互,...

    JSF1.2的jar包

    **JSF 1.2 知识点详解** JavaServer Faces (JSF) 是一个用于构建用户界面的Java EE框架,特别适用于Web应用程序的开发。JSF 1.2是该框架的一个版本,发布于2007年,相较于早期版本,它提供了更多的功能和改进。以下...

    JSF API

    **JSF API详解** JavaServer Faces (JSF) 是一种基于组件的Web应用程序开发框架,由Java Community Process (JCP) 定义并维护。JSF API是该框架的核心部分,它提供了创建用户界面、处理用户事件、管理应用程序状态...

    JSF2.2基本jar包

    **JSF 2.2 基本jar包详解** JavaServer Faces (JSF) 是Java平台上的一个标准的用户界面框架,用于构建Web应用程序。JSF 2.2是其一个重要的版本,提供了许多增强的功能和改进。在这个场景中,我们关注的是JSF 2.2...

    JSF和Spring集成.doc

    ### JSF与Spring集成知识点详解 #### 一、概述 **JSF (JavaServer Faces)** 和 **Spring** 都是目前广泛使用的Java Web开发框架。JSF 是一个用于构建基于 Java 的 Web 应用程序的标准组件框架,而 Spring 框架则是...

    jsf1.2源代码下载

    **JSF 1.2 源代码详解** JavaServer Faces (JSF) 是一个用于构建用户界面的Java EE框架,它提供了一种组件化的方式来创建Web应用程序。JSF 1.2是该框架的一个重要版本,发布于2007年,带来了许多增强功能和改进,...

    jsf 中文帮助文档

    总的来说,JSF中文帮助文档涵盖了JSF框架的所有关键概念和技术,包括API详解、生命周期、组件使用、数据绑定、验证、导航等,对于希望在Java Web开发中使用JSF的开发者来说,是极具价值的学习资源。通过阅读和实践,...

    JSF API (有索引功能)

    **JSF API(JavaServer Faces Application Programming Interface)详解** JSF,全称为JavaServer Faces,是Java EE平台上的一个标准用户界面组件模型和事件处理框架。它为开发Web应用程序提供了一种模型-视图-控制...

    JSF api,很详细,很全

    **JSF(JavaServer Faces)API详解** JSF(JavaServer Faces)是Java平台上的一个用于构建用户界面的MVC(Model-View-Controller)框架。这个框架的主要目的是简化Web应用开发,提供一种声明式的方式来处理用户交互...

    《JSF自定义组件》

    ### JSF自定义组件知识点详解 #### 一、JSF生命周期与组件概述 **1.1 JSF生命周期** JavaServer Faces (JSF) 是一种基于Java的Web应用框架,主要用于构建用户界面。为了更好地理解如何自定义JSF组件,首先需要...

    常用手册 JSF及Myfaces帮助.CHM

    通过阅读“JSF及Myfaces帮助.CHM”文档,开发者可以获得JSF和MyFaces的详细指南,包括基本概念、API详解、示例代码和最佳实践,从而更好地理解和掌握这两种技术。在实际开发中,结合文档学习和实践操作,可以有效地...

    JSF1.2.07版源代码

    **JSF 1.2.07 源代码详解** JavaServer Faces (JSF) 是Java平台上用于构建用户界面的官方标准框架,它提供了一种声明式的方式来创建Web应用程序。JSF 1.2是该框架的一个重要版本,引入了许多增强功能和改进,为...

    JSF1.2的新特性总结.

    **JSF 1.2 新特性详解** JavaServer Faces (JSF) 是Java平台上用于构建Web应用程序的一种组件模型。JSF 1.2是该框架的一个重要版本,它引入了一系列新特性和改进,提升了开发效率和用户体验。以下是对JSF 1.2新特性...

    JSF编程,共享一本书(二)

    **JSF编程详解** JSF,全称JavaServer Faces,是Java平台上的一个用于构建Web应用程序的MVC(Model-View-Controller)框架。它提供了一种声明式的方式来创建用户界面,使得开发者可以专注于业务逻辑,而无需过多...

    jsf生命周期学习文档

    【JSF生命周期详解】 JSF(JavaServer Faces)是一种基于Java的Web应用程序开发框架,它以组件为中心,简化了服务器端应用程序的用户界面构建。JSF的核心组成部分包括预定义的UI组件、事件驱动的编程模型以及支持第...

    jsf_in_action 英文版

    **JavaServer Faces (JSF) 技术详解** JavaServer Faces (JSF) 是一个用于构建用户界面的Java EE框架,特别适用于开发Web应用程序。它为开发者提供了模型-视图-控制器(MVC)架构的支持,简化了网页交互和业务逻辑...

Global site tag (gtag.js) - Google Analytics