- 浏览: 203193 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
feihumingyue:
nice 很好啊
JSF中如何使用FacesContext类 -
wgcniler:
请问如果传到存储过程的参数是一个嵌套表的话该怎么写?自定义的o ...
spring中调用存储过程 -
wgcniler:
请问如果传到存储过程的参数是ARRAY,但ARRAY的元素不是 ...
spring中调用存储过程 -
bengan:
谢谢楼上的提示
关于出现僵尸信号SIGBAT或者EXC_BAD_ACCESS的解决方案 -
gypgyp:
用xcode的菜单:product/profile,弹出窗口中 ...
关于出现僵尸信号SIGBAT或者EXC_BAD_ACCESS的解决方案
3.3.8 获取CookiegetRequestCookies方法是HttpServletRequest.getCookies方法的包装器,它返回一个javax.servlet.http.Cookie对象的数组,数组中是当前Request对象里的全部Cookie。此方法的签名如下:
public abstract Cookie[] getRequestCookies()
例如,下面的代码取得当前请求中的全部Cookie对象,然后在结果数组上循环,输出全部Cookie的名和值。
getRequestCookieMap方法返回一个包含当前请求中全部Cookie的、以Cookie的名称作为键的Map对象。在此Map对象上调用get方法会返回一个javax.servlet.http.Cookie对象。GetRequestCookieMap方法的签名如下:public abstract java.util.Map getRequestCookieMap()例如,下面的代码取得名为password的Cookie对象并将其值输出到控制台。
注意:Cookie名称区分大小写。
3.3.9 获取场所getRequestLocale方法是ServletRequest.getLocale方法的包装器,它返回Request对象中的Locale对象。此方法的签名如下:
public abstract java.util.Locale getRequestLocale()
例如,下面的代码取回用户的场所并输出该场所的显示语言和显示国家。
3.3.10 获取上下文路径getRequestContextPath是HttpServletRequest.getContextPath方法的包装器,
它返回请求URI中指明请求上下文的上下文路径部分。其方法签名如下:
public abstract String getRequestContextPath()下面的代码段把请求URI的上下文路径输出到控制台:
public abstract String getRequestPathInfo()
例如,下面代码输出请求URL的路径信息。
对于URL http://localhost:8080/JSFCh03/faces/test.jsp而言,getRequestPathInfo方法的返回值为test.jsp。
3.3.11 获取资源路径getResourcePaths方法是ServletContext类的getResourcePaths方法的包装器,它返回一个Set对象,其中包含Web应用中最长子路径与传入的路径参数相匹配的资源路径。表示子目录的路径以“/”结束。返回的路径是相对于Web应用根路径的相对路径,并以“/”开始。此方法的签名如下:
public abstract java.util.Set getResourcePaths(String path)
比如,考虑如下代码:
3.3.12 编码URLencodeURL方法是HttpServletResponse.encodeURL方法的包装器,它编码给定的URL,其方法是加入会话的ID信息;或者,如果不需要这个步骤,则直接将给定的URL原封不动地返回。其方法签名如下:public abstract String encodeURL(String url)在portlet中使用JSF时,encodeActionURL和encodeResourceURL方法很有用。encodeActionURL迫使URL作为参数传递,造成动作在入口/portlet中起作用。这个方法的签名如下:public abstract String encodeResourceURL(String sb)encodeResourceURL方法迫使URL作为参数传递,引用资源以在入口/portlet中起作用。该方法造成URL需要根据包括的特定入口进行重定向。实际上,它简单地返回一个绝对URL。下面是encodeResourceURL方法的签名:public abstract String encodeResourceURL(String sb)
3.3.13 分派请求dispatchMessage方法可根据当前上下文分派请求。对servlet而言,它通过调用forward实现这一点;而对portlet而言,则是通过调用include方法实现这一点。此方法的签名如下:public abstract void dispatchMessage(String requestURL) throws java.io.IOException, FacesException
public abstract Cookie[] getRequestCookies()
例如,下面的代码取得当前请求中的全部Cookie对象,然后在结果数组上循环,输出全部Cookie的名和值。
FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); Cookie[] cookies = externalContext.getRequestCookies(); for (int i=0; i<cookies.length; i++) { Cookie cookie = cookies[i]; String cookieName = cookie.getName(); String cookieValue = cookie.getValue(); System.out.println(cookieName + " : " + cookieValue); }
getRequestCookieMap方法返回一个包含当前请求中全部Cookie的、以Cookie的名称作为键的Map对象。在此Map对象上调用get方法会返回一个javax.servlet.http.Cookie对象。GetRequestCookieMap方法的签名如下:public abstract java.util.Map getRequestCookieMap()例如,下面的代码取得名为password的Cookie对象并将其值输出到控制台。
FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); Map cookieMap = externalContext.getRequestCookieMap(); if (cookieMap!=null) { Cookie cookie = (Cookie) cookieMap.get("password"); if (cookie!=null) System.out.println("Value:" + cookie.getValue()); }
注意:Cookie名称区分大小写。
3.3.9 获取场所getRequestLocale方法是ServletRequest.getLocale方法的包装器,它返回Request对象中的Locale对象。此方法的签名如下:
public abstract java.util.Locale getRequestLocale()
例如,下面的代码取回用户的场所并输出该场所的显示语言和显示国家。
FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); Locale locale = externalContext.getRequestLocale(); System.out.println("Language:" + locale.getDisplayLanguage()); System.out.println("Country:" + locale.getDisplayCountry());
3.3.10 获取上下文路径getRequestContextPath是HttpServletRequest.getContextPath方法的包装器,
它返回请求URI中指明请求上下文的上下文路径部分。其方法签名如下:
public abstract String getRequestContextPath()下面的代码段把请求URI的上下文路径输出到控制台:
FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); System.out.println("Context path:" +externalContext.getRequestContextPath());对于URL http://localhost:8080/JSFCh03/faces/test.jsp来说,getRequestContextPath方法的返回值为/JSFCh03。getRequestPathInfo方法是HttpServletRequest.getPathInfo方法的包装器,它返回当客户端进行请求时与客户端发送的URL相关联的额外路径信息。这部分信息跟在servlet路径信息的后面,但在查询字符串之前。getRequestPathInfo方法的签名如下:
public abstract String getRequestPathInfo()
例如,下面代码输出请求URL的路径信息。
FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); System.out.println("Path info:" +externalContext.getRequestPathInfo());
对于URL http://localhost:8080/JSFCh03/faces/test.jsp而言,getRequestPathInfo方法的返回值为test.jsp。
3.3.11 获取资源路径getResourcePaths方法是ServletContext类的getResourcePaths方法的包装器,它返回一个Set对象,其中包含Web应用中最长子路径与传入的路径参数相匹配的资源路径。表示子目录的路径以“/”结束。返回的路径是相对于Web应用根路径的相对路径,并以“/”开始。此方法的签名如下:
public abstract java.util.Set getResourcePaths(String path)
比如,考虑如下代码:
FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); Set resourcePaths = externalContext.getResourcePaths("/"); Iterator iterator = resourcePaths.iterator(); while (iterator.hasNext()) { String path = (String) iterator.next(); System.out.println(path); } System.out.println("----------------------------"); resourcePaths = externalContext.getResourcePaths("/WEB-INF"); iterator = resourcePaths.iterator(); while (iterator.hasNext()) { String path = (String) iterator.next(); System.out.println(path); }这段代码两次调用了getResourcePaths方法,第一次传入“/”,第二次传入“/WEB-INF”。如果在一个目录结构如图3-2所示的Web应用里运行以上代码,则返回的第一个Set里包含如下路径:/order.jsp/index.jsp/Styles.css/images//details.jsp/WEB-INF//checkOut.jsp/browse.jsp/shoppingCart.jsp/search.jsp/menu.jsp第二个Set里包含如下路径:/WEB-INF/faces-config.xml/WEB-INF/web.xml/WEB-INF/classes//WEB-INF/lib/图3-2 测试getResourcesPath的目录结构getResourceAsStream方法是ServletContext.getResourceAsStream的包装器,它返回指定路径中作为java.io.InputStream对象的资源。其方法签名如下:public abstract java.io.InputStream getResourceAsStream(String path)
3.3.12 编码URLencodeURL方法是HttpServletResponse.encodeURL方法的包装器,它编码给定的URL,其方法是加入会话的ID信息;或者,如果不需要这个步骤,则直接将给定的URL原封不动地返回。其方法签名如下:public abstract String encodeURL(String url)在portlet中使用JSF时,encodeActionURL和encodeResourceURL方法很有用。encodeActionURL迫使URL作为参数传递,造成动作在入口/portlet中起作用。这个方法的签名如下:public abstract String encodeResourceURL(String sb)encodeResourceURL方法迫使URL作为参数传递,引用资源以在入口/portlet中起作用。该方法造成URL需要根据包括的特定入口进行重定向。实际上,它简单地返回一个绝对URL。下面是encodeResourceURL方法的签名:public abstract String encodeResourceURL(String sb)
3.3.13 分派请求dispatchMessage方法可根据当前上下文分派请求。对servlet而言,它通过调用forward实现这一点;而对portlet而言,则是通过调用include方法实现这一点。此方法的签名如下:public abstract void dispatchMessage(String requestURL) throws java.io.IOException, FacesException
发表评论
-
spring整合struts的3种配置方式
2011-08-08 01:43 894实例讲解spring整合struts的几种方式 1,使用Sp ... -
抽象语法树(AST)
2010-01-16 04:02 9617原文出自:http://blog.csdn.net/zhouh ... -
java虚拟机参数
2009-11-19 01:21 1074下面的讨论以Windows平台的Sun MicroSystem ... -
JVM 堆内存(heap)设置选项
2009-11-18 22:17 3047JVM 堆内存(heap)设置选项 参数格式 说 ... -
java堆栈
2009-11-15 11:12 1572java中堆栈(stack)和堆(heap) 一、堆栈(st ... -
Tomcat启动过程
2009-04-01 11:37 1115今天在独立的Tomcat中部 ... -
JSF如何使用ExternalContext类 1
2008-11-04 14:42 2304使用ExternalContext类提供 ... -
JSF中如何使用FacesContext类
2008-11-04 14:26 2221在Faces API中有两个类是要经常使用的. 一个是Face ... -
JSF Mbean
2008-09-04 20:23 1208首先从Model1中的JavaBean说起,大家知道,Mode ... -
JSF FacesContext 详解 三
2008-08-28 15:48 40663.3.6 访问Request对象里的参数名和值 getRe ... -
JSF FacesContext 详解 二
2008-08-28 15:47 2673JSF FacesContext 详解 二 3. ... -
JSF FacesContext 详解 一
2008-08-28 15:45 2201JSF FacesContext 详解 一 ... -
一个jsf的face-config.xml看不懂
2008-08-25 16:46 3508刚学习jsf,公司一个jsf工程里的face-config.x ... -
jar命令详解
2008-08-20 00:17 1197自己学习记录的资料 1. ... -
jmx使用实例(待加注析正式发布)
2008-08-20 00:00 0JMX 在JDK 1.5中已经是J2SE的一个标准组成部分了。 ... -
最近一个工作要用到jmx所以特意找了一些资料了解jmx,好的给大家分享
2008-08-19 16:29 1941JMX(Java Management Extension ... -
jsf的eclipse开发插件
2008-08-18 12:36 1176大家可以介绍个好的jsf eclipse开发插件吗?要支持js ... -
spring中调用存储过程
2008-08-06 02:27 4207org.springframework.jdbc.object ... -
关于使用hibernate的关联关系还是使用视图的问题
2008-08-02 02:07 1532现在做的工程是HHS框架结构的,在使用hibernate的数据 ... -
java序列化备份及还原
2008-07-29 21:05 1808今天工作遇到一个要把查询结果的List序列化保存到本地机,再上 ...
相关推荐
本文将详细讲解如何在JSF中使用`ExternalContext`类。 首先,`ExternalContext`类主要提供了以下三种方法来获取Servlet环境中的核心对象: 1. **获取ServletContext对象**: - `getContext()`方法返回与当前请求...
4. 登录成功后,可以使用`FacesContext`的`externalContext()`方法重定向用户: ```java FacesContext context = FacesContext.getCurrentInstance(); context.getExternalContext().redirect("success.xhtml"); ```...
JSF的`ExternalContext` API可以用来创建和管理会话。 5. **错误处理**:当验证失败时,应向用户显示适当的错误消息。JSF的`<h:message>`或`<h:messages>`标签可用于显示验证错误。 6. **安全考虑**:为了确保安全...
2. **JSF核心包**: - **javax.faces**:基础包,包含工厂对象和异常处理。`FactoryFinder`用于获取JSF中的工厂对象,如`FacesContextFactory`,而`FacesException`用于封装JSF相关的异常。 - **javax.faces....
总的来说,JSF实例“UserLogin”展示了如何使用JSF组件和生命周期来处理用户登录和信息查询。它涉及到视图的创建、用户输入的处理和验证、业务逻辑的执行,以及数据的持久化和展示。通过这样的实例,开发者可以深入...
- **页面跳转**:登录成功后,JSF可以通过导航规则(Navigation Case)或`FacesContext`的`externalContext.redirect()`方法将用户重定向到其他页面。例如,登录成功后,用户可能被定向到主页面或个人中心。 **2. ...
JSF 提供了多种方法来处理参数传递,包括使用`<f:param>`标签、Managed Bean的属性绑定以及共享Request Beans等。 1. **使用 `<f:param>` 标签传递参数**: 这是最基础的传递参数方式,常用于链接或按钮的点击事件...
在JSF中,通常使用`<h:inputFile>`组件来实现这一功能。这个组件会创建一个HTML输入字段,用户可以在其中浏览并选择要上传的文件。然后,JSF框架会处理文件上传请求,并将文件内容作为`Part`对象暴露给后端bean。 ...
在 Faces API 中,FacesContext 和 ExternalContext 是两个经常使用的类,本文将详细介绍 FacesContext 的编程接口和使用方法。 FacesContext 的实例是在 FacesServlet 对象中创建的,每个 JSF 请求都会获取一个 ...
在`faces-config.xml`文件中定义导航规则,或者在bean中使用`ExternalContext`进行导航。 8. **响应式设计**:确保你的页面在不同设备和屏幕尺寸上都能正常显示,可能需要应用CSS样式和媒体查询。 9. **测试与调试...
对于JSF 1.2版本,可以使用Application对象的evaluateValueExpressionGet()方法直接评估EL表达式,并强制转换为指定类型。 值得注意的是,第3种方法在JSF 1.1中并不适用,因为它不包含evaluateValueExpressionGet...
在JSF页面中,可以使用EL表达式`#{msg.welcome}`来引用资源包中的键`welcome`,JSF框架会自动根据用户的区域设置查找并返回相应的值。如果找不到精确匹配的区域设置,它会回退到默认的语言资源包。 6. **处理日期...
此外,你可以考虑使用JSF的`<f:viewAction>`或自定义的组件行为来在页面加载时检测会话状态,从而提供更即时的反馈。 总结来说,通过创建一个监听恢复视图阶段的`PhaseListener`,并捕获`ViewExpiredException`,...
3. 使用`FacesRedirect`辅助类(非标准JSF): 有些开发者可能会使用第三方库如OmniFaces提供的`FacesRedirect`类,它提供了一种更简洁的方式来实现重定向: ```java import org.omnifaces.util.Faces; public...
使用UIUtil类,开发者可以更方便地在JSF应用程序中访问Servlet环境变量,例如: ```java String initParamValue = UIUtil.getServletContext().getInitParameter("myInitParam"); ``` 这比直接通过FacesContext的...
3. **JSF(JavaServer Faces)**:通过FacesContext和ExternalContext与JasperReport交互。 **五、JasperReport高级特性** 1. **表达式(Expressions)**:在报表设计中使用Java表达式动态计算值。 2. **样式和...
- **JSF 2支持**:增加了对JSF 2的支持,使得集成更加平滑。 - **Spring Security Facelets标签库**:为安全控制提供了更丰富的标签支持。 - **Spring JavaScript更新**:增强了JavaScript的支持能力。 - **JSP ...
2. **兼容性问题**:虽然上述代码适用于JSF项目,但在非JSF项目中,获取`HttpServletResponse`的方式可能有所不同。 3. **安全性和性能**:在生产环境中,应考虑对重定向的目标URL进行校验,防止恶意的重定向攻击。...
- XPages构建在JavaServer Faces (JSF) 技术之上,提供了丰富的组件库和事件处理机制。 2. **URL参数和动作**: - 在URL中,`action`参数定义了要执行的操作。在示例中,`action=editDocument`表示我们要执行编辑...
8. **外部环境交互**: `javax.faces.context.ExternalContext`对象在JavaServer Faces (JSF) 应用程序中提供对应用服务器环境的访问。`extCont.redirect(url)`方法用于服务器端的URL重定向。 9. **在新窗口打开链接...