我有一个 JSF 2.0 Web 项目,我的 Web 有一个表单,它必须执行以下操作:
获取表单的参数并将其保存在Bean中(完成)
-
从 servlet 获取此信息:
- 远程地址:
- 远程主机:
- 区域设置:
- 内容类型:
- 边界:
- 内容长度:
- 字符编码:
将Bean数据和Servlet数据插入数据库的表中(等待步骤2)
我对 JSF 中的 Servlet 不太了解,我不需要是否必须制作一个。我只有 JSP 中的代码:
String informe="";
Enumeration a = request.getHeaderNames();
while(a.hasMoreElements() ){
String h = a.nextElement().toString();
informe += h+": "+request.getHeader(h)+"\n";
}
a = request.getAttributeNames();
while(a.hasMoreElements() ){
String h = a.nextElement().toString();
informe += h+": "+request.getHeader(h)+"\n";
}
informe += "Remote Address: "+request.getRemoteAddr()+"\n";
informe += "Remote Host: "+request.getRemoteHost()+"\n";
informe += "Locale: "+request.getLocale()+"\n";
informe += "Content Type: "+request.getContentType()+"\n";
informe += "Content Length: "+request.getContentLength()+"\n";
.....
..
我不知道如何在 JSF 中获取请求信息以及我必须执行的步骤。我读了很多页,但我认为我不需要他们所做的所有事情。
The HttpServletRequest
对象在 JSF 中可用ExternalContext#getRequest() http://docs.oracle.com/javaee/6/api/javax/faces/context/ExternalContext.html#getRequest%28%29.
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
// ...
The ExternalContext http://docs.oracle.com/javaee/6/api/javax/faces/context/ExternalContext.html顺便还提供了一些直接的方法来获取所需的信息。检查从以下内容开始的方法getRequestXxx()
例如getRequestHeaderMap()
, getRequestContentType()
等在javadoc http://docs.oracle.com/javaee/6/api/javax/faces/context/ExternalContext.html.
您不需要为此使用另一个 servlet。 JSF 已经FacesServlet
作为唯一的请求/响应控制器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)