Hi, i've got one very basic question that i cant find any documentation for
nor any examples, maybe i've missed it but..

What i want to is to inject a UserInfo object into my action. In webwork2
you used components.xml for this. E.g,
   <component>
       <scope>session</scope>
       <class>foo.acme.UserInfo</class>
       <enabler>foo.acme.UserInfoAware</enabler>
   </component>

to tell the IoC framework (is it xwork?) to inject the UserInfo into any
Action implementing UserInfoAware.

Now, I've managed to inject it in struts2 as well, but i cant find a way to
inject ONE UserInfo pr session, i can only specify singleton="true" or
"false" in "applicationContext.xml".

I paste my struts.xml and applicationContext.xml here so a more enlightened
soul may give me some clue,
struts.xml,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd";>
<struts>
   <package name="unrestrictedActions" extends="struts-default" >
       <interceptors>
         <interceptor name="login" class="
foo.acme.interceptor.LoginInterceptor"/>
         <interceptor-stack name="secureStack">
           <interceptor-ref name="login"/>
           <interceptor-ref name="defaultStack"/>
         </interceptor-stack>
       </interceptors>
       <default-interceptor-ref name="secureStack"/>

       <action name="index" class="indexAction">
           <result type="freemarker">/ftl/index.ftl</result>
       </action>
   </package>
</struts>
applicationContext.xml,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC
   "-//SPRING//DTD BEAN//EN"
   "http://www.springframework.org/dtd/spring-beans.dtd";>
<beans>
   <bean id="userInfo" class="foo.acme.UserInfo" singleton="false"></bean>

   <bean id="indexAction" class="foo.acme.actions.IndexAction"
singleton="false">
       <property name="userInfo"><!-- THIS INJECTS THE USERINFO BUT IT
INJECTS A NEW EVERY REQUEST, WANT 1 PR SESSION -->
           <ref local="userInfo" />
       </property>
   </bean>
</beans>

Maybe theres an altogether better way of setting up the IoC in struts2? Im
all ears.

Best regards, Peder Jensen.

Reply via email to