You have to cast to ServletRequestAttributes - did you try the code
below? I'm using this on a project with Spring 2.5 and it works.
Matt
On Jan 22, 2008, at 2:13 PM, Ding, Qin wrote:
Matt:
getRequest() method is not visible from requestAttributes.
QD
From: Matt Raible [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 22, 2008 3:04 PM
To: [email protected]
Subject: Re: [appfuse-user] Using User from appfuse in appz
The following won't work in a test, but it may work in your running
application. Spring's RequestContextListener registers the request
in a ThreadLocal:
private HttpServletRequest getRequest() {
return (HttpServletRequest) ((ServletRequestAttributes)
RequestContextHolder.getRequestAttributes()).getRequest();
}
HTH,
Matt
On Jan 22, 2008, at 1:12 PM, Ding, Qin wrote:
Again, my goal is to find out how I can get application URL from my
bean in service layer. According to Mike, I made my bean
servletContextAware so that I can get application URL by calling
Url url = servletContext.getResource(“/index.jsp”); However, I
don’t get the host, port information from url.getHost(), urlGetPort
()….
Is there a way I get inject HttpServletRequest to my service bean?
In the BasePage, we get can get HttpServletRequest by calling
(HttpServletRequest) getFacesContext().getExternalContext
().getRequest();
public static HttpServletRequest getRequest() {
return (HttpServletRequest) FacesContext.getCurrentInstance()
.getExternalContext()
.getRequest();
}
If I put the above method into my own bean, or uses
FacesUtils.getRequest(), I got nullPointerException.
Why the “getRequest()” method in BasePage works but not in my
service bean? Seems to me if I couldinject the facesContext to my
bean, then I can get HttpServletRequest. With Request object, I
should be able to get URL by calling request.getUri or Url.
Please advice. Thank you.
QD
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]