Skip to main content link. Accesskey S
  • Help
  • IBM Logo
  • IBM Notes and Domino Application Development wiki
  • All Wikis
  • All Forums
  • THIS WIKI IS READ-ONLY. Learn more...
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • IBM Redbooks
  • API Documentation
Search
API Documentation > XPages Extensibility API > XPages: How do you access the servlet objects, i.e. Request, response... etc.? What is the JSF context and what does it expose?
  • Share Show Menu▼
  • Subscribe Show Menu▼

About the Original Author

Click to view profileWilliam Doran
Contribution Summary:
  • Articles authored: 2
  • Articles edited: 2
  • Comments Posted: 0

Recent articles by this author

XPages: How to log the XPages server runtime environment?

This article outlines the steps required to understand and implement logging of the XPages runtime environment on the Domino Server. The instructions for enabling logging are simpler in Domino 8.5.2 and later releases. h2 Logging in 8.5.2 and more recent releases.h2 The newer logging ...

Accessing Servlet objects in XPages using the FacesContext object

The Java Server Faces (JSF 1.1) framework uses a FacesContext object to store all the contextual information related to a single incoming request from a client , and all the information needed to ...
Community articleXPages: How do you access the servlet objects, i.e. Request, response... etc.? What is the JSF context and what does it expose?
Added by William Doran | Edited by IBM contributorWilliam Doran on October 10, 2008 | Version 26
expanded Abstract
collapsed Abstract
No abstract provided.
Tags: jsf, faces context, context, external context, xpages
Introduction:
The  Java Server Faces (JSF 1.1) frameworkuses a FacesContext object to store all the contextual information related to a single incoming request from a client , and all the information needed to create a response to send back to the client. Stored messages, beans, renderkits and responseWriters are all examples of this form of information, which can then be used by the JSF framework to manage a GUI component's state for the duration of the request processing life-cycle.

External Context:

One of the more important pieces of information stored in the FacesContext is the  ExternalContext which is a wrapper that provides access to the webcontainer context and it is transparent to how the underlying server is implemented, i.e. servlet or a portlet. The ExternalContext can be used to access information about the request, such as the request header, cookies, locale, request parameters, session information, file and resource paths, and the application environment context. The application environment context can further be used to find information about the servlet/portlet running the application.

Each of the methods published in the APIs for FacesContext and ExternalContext See here) can be accessed by the global JavaScript objects made available to XPages developers. For example, add the following lines of code your JavaScript to access the request object and information about the request using the facesContext global object:

 var
externalContext = facesContext.getExternalContext();

var request = externalContext.getRequest();  this is a HttpServletRequest
var serverName = request.getServerName();
var cookie = request.getHeader("Cookie");


Further examples:

Examples of how to use the facesContext global object can also be found by opening the xpCGIVariables server-side JavaScript library in the discussion8.ntf template:
In Domino Designer, select File -> Application -> Open -> server name -> discussion8.ntf.
In the navigator window, expand the following menu elements: Code -> Script Libraries and open the library xpCGIVariables.

For further details of how to use the JavaScript global objects see the articles on "Global Objects" and "JavaScript libraries in the XPages engine"
expanded Attachments (0)
collapsed Attachments (0)
expanded Versions (22)
collapsed Versions (22)
Version Comparison     
VersionDateChanged by              Summary of changes
29Nov 2, 2009, 6:23:11 PMDeanna Drschiwiski  IBM contributor
28Oct 16, 2008, 8:42:45 AMMaire Kehoe  IBM contributor
27Oct 10, 2008, 9:18:27 AMWilliam Doran  IBM contributor
This version (26)Oct 10, 2008, 9:15:48 AMWilliam Doran  IBM contributor
25Oct 10, 2008, 6:09:25 AMWilliam Doran  IBM contributor
24Oct 10, 2008, 6:04:24 AMWilliam Doran  IBM contributor
23Oct 10, 2008, 6:01:20 AMWilliam Doran  IBM contributor
22Oct 9, 2008, 9:00:16 PMThomas Gumz  IBM contributor
21Oct 9, 2008, 8:47:42 PMThomas Gumz  IBM contributor
20Oct 9, 2008, 8:47:08 PMThomas Gumz  IBM contributor
19Oct 9, 2008, 8:46:24 PMThomas Gumz  IBM contributor
18Oct 9, 2008, 8:43:35 PMThomas Gumz  IBM contributor
17Oct 9, 2008, 8:40:51 PMThomas Gumz  IBM contributor
16Oct 9, 2008, 8:39:40 PMThomas Gumz  IBM contributor
15Oct 9, 2008, 5:23:38 PMThomas Gumz  IBM contributor
14Oct 9, 2008, 5:19:06 PMThomas Gumz  IBM contributor
13Oct 9, 2008, 5:16:55 PMThomas Gumz  IBM contributor
12Oct 9, 2008, 5:02:27 PMThomas Gumz  IBM contributor
11Oct 9, 2008, 5:01:00 PMThomas Gumz  IBM contributor
10Oct 9, 2008, 11:16:35 AMWilliam Doran  IBM contributor
9Oct 9, 2008, 11:15:56 AMWilliam Doran  IBM contributor
7Oct 9, 2008, 10:48:50 AMWilliam Doran  IBM contributor
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedHelpAbout
  • IBM Collaboration Solutions wikis
  • IBM developerWorks
  • IBM Software support
  • Twitter LinkIBMSocialBizUX on Twitter
  • FacebookIBMSocialBizUX on Facebook
  • ForumsLotus product forums
  • BlogsIBM Social Business UX blog
  • Community LinkThe Social Lounge
  • Wiki Help
  • Forgot user name/password
  • About the wiki
  • About IBM
  • Privacy
  • Accessibility
  • IBM Terms of use
  • Wiki terms of use