struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joe Germuska" <...@germuska.com>
Subject Re: [s2] getting servletContext in actions
Date Wed, 31 Jan 2007 16:38:49 GMT
Jeff:

I think there are a lot of possible routes, but I'm not sure I understand
your goal.

Could you just have your service implement ResourceLoaderAware?  If your
Spring ApplicationContext is a WebApplicationContext (as it would be if set
up by ContextLoaderListener), then the ResourceLoader would check the
ServletContext for resources in addition to the class path, etc.

If you don't want your service to implement a Spring interface, there are
some Spring beans that help bridge the gap, briefly name-checked here
http://www.interface21.com/news-home/2005/spring-1.1.4-released   These
mostly just let you apply ServletContext attributes to Spring beans in
various ways without binding your code to the Servlet API.

My hunch is trusting that the ResourceLoaderAware is the right solution,
especially now that I realize that if you're passing in a
ServletContextResource, then you've already accepted the Spring API into
your service layer.

Does that help?

Joe

On 1/31/07, Jeffrey Hau <jh398@doc.ic.ac.uk> wrote:
>
> Hi Joe,
> Thanks for the helpful information. I am just wondering is it
> possible to get the ServletContext object in my spring
> applicationContext.xml? What i am trying to do now is to create a
> Resource object (ServletContextResource) and inject into a service
> class and then use this service class in a struts action. At the
> moment, I have to pass in the resource path (as a string) into the
> action, instantiate the ServletContextResource in the action then
> pass it to the service class.
>
> many thanks,
>
> Jeff
>
> On 31 Jan 2007, at 12:53, Joe Germuska wrote:
>
> > You need to make sure that your action is passing through an
> > interceptor-stack that includes ServletConfigInterceptor
> >
> > http://struts.apache.org/2.x/core/apidocs/org/apache/struts2/
> > interceptor/ServletConfigInterceptor.html
> >
> >
> > The struts-default package does include this.
> >
> > http://struts.apache.org/2.x/docs/struts-defaultxml.html
> >
> > Another thing you can do is call the static method
> > ServletActionContext.getServletContext() but this would be harder
> > to support
> > in a unit testing environment.  If  you implement
> > ServletContextAware, then
> > you could provide a mock ServletContext implementation in your unit
> > test
> > setup, while you'd have a lot more awkward setup to do to make sure
> > that
> > ServletActionContext.getServletContext was prepared to return a usable
> > value.
> >
> > Joe
> >
> >
> > On 1/31/07, Nagraj Rao <nagraj.rao@sigmainfo.net> wrote:
> >>
> >> were u actually able to get the servletContext Object thru
> >> servletContextAware?? I'd tried it but couldn't get it :(
> >> do we need to do any additional stuff for that??
> >>
> >> ----- Original Message -----
> >> From: "Jeffrey Hau" <jh398@doc.ic.ac.uk>
> >> To: "Struts Users Mailing List" <user@struts.apache.org>
> >> Sent: Wednesday, January 31, 2007 4:55 PM
> >> Subject: [s2] getting servletContext in actions
> >>
> >>
> >> > Hi,
> >> > If i need to get a servletContext object in my action class, is
> >> > implementing the ServletContextAware interface the standard way
> >> of  doing
> >> > this? Is there any other alternatives?
> >> >
> >> > thanks,
> >> >
> >> > Jeff
> >> >
> >> >
> >> ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> >> > For additional commands, e-mail: user-help@struts.apache.org
> >> >
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: user-help@struts.apache.org
> >>
> >>
> >
> >
> > --
> > Joe Germuska
> > Joe@Germuska.com * http://blog.germuska.com
> >
> > "The truth is that we learned from João forever to be out of tune."
> > -- Caetano Veloso
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>


-- 
Joe Germuska
Joe@Germuska.com * http://blog.germuska.com

"The truth is that we learned from João forever to be out of tune."
-- Caetano Veloso

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message