Nous étendons un ancien projet Struts 1 pour qu'il soit géré par Spring - mais nous souhaitons changer le code et le flux aussi peu que possible. Nous avons donc décidé de laisser Struts gérer les demandes et avons délégué les actions via la classe org.springframework.web.struts.DelegatingActionProxy
.Intégration de ressort avec Struts 1 - injection de dépendances à ActionForm
Exemple:
Les struts-config.xml contient:
<action name="InvalidSession"
path="/pages/InvalidSession"
type="org.springframework.web.struts.DelegatingActionProxy"
scope="request">
<forward name="success" path="/pages/Startup.do" />
</action>
L'action-servlet.xml contient:
<bean name="/pages/InvalidSession"
class="com.xxx.actions.InvalidSessionAction" />
Maintenant épaissit l'intrigue:
Les haricots de printemps normaux ont été définis dans l'application licationContext.xml. Un exemple:
<bean id="parserUtils" class="com.xxx.el.parser.ParserUtils" >
<property name="parserFactory" ref="parserFactory"/>
</bean>
Je voudrais maintenant fil (pas automatiquement - mais ce n'est pas un problème), le haricot parserUtils
à un ActionForm.
Si j'avais voulu câbler à une action Je définirais simplement le follwing dans l'action-servlet.xml:
<bean name="/pages/CaseUpdate"
class="com.xxx.actions.CaseUpdateAction" >
<property name="parserUtils" ref="parserUtils" />
</bean>
où ce qui suit est dans le struts-config.xml:
<action path="/pages/CaseUpdate"
name="CaseUpdateForm"
type="org.springframework.web.struts.DelegatingActionProxy"
scope="request">
<forward name="success" path="/pages/SwitchView.do" />
</action>
Mais le Stuts-config contient également le ActionForm définition suivante:
<form-bean name="CaseUpdateForm"
type="com.xxx.forms.CaseUpdateForm" />
et je souhaite câbler le bean parserUtils
à la classe CaseUpdateForm.
Que dois-je faire?
Merci à tous!
ce qui suit ne m'a pas aidé, ou peut-être je l'ai mal compris: http: // stackoverflo w.com/questions/354171/struts-and-spring-together – Yaneeve