hi Joe,
Implementing the ResourceLoaderAware interface has solved my problem. many thanks!

i havent tried to use ServletContextAware but I think it will work equally well.

many thanks

Jeff

On 31 Jan 2007, at 16:38, Joe Germuska wrote:

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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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" <[EMAIL PROTECTED]>
>> 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: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
> --
> Joe Germuska
> [EMAIL PROTECTED] * 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Joe Germuska
[EMAIL PROTECTED] * 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to