Struts und Spring zusammen?

stimmen
2

Ich bin ziemlich neu für beide Struts und Spring. Ich muss wissen, wie eine Feder-Service in einer Struts Action zuzugreifen. Selbst ein Zeiger in der richtigen Richtung würde geschätzt.

Veröffentlicht am 09/12/2008 um 21:44
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
2

Sind Sie mit Struts 1 oder 2?

Wenn Sie Struts verwenden 1, dann gibt es mehr Möglichkeiten, es zu tun. Ich ziehe es zu tun org.springframework.web.struts.DelegatingActionProxy verwenden. Sie verlassen nun die feder webmvc-struts.jar im Classpath haben müssen.

struts-config.xml:

   <action path="/faq" type="org.springframework.web.struts.DelegatingActionProxy" name="faqForm" parameter="method">
        <forward name="List" path="faq.list" />
    </action>

applicationContext.xml:

<bean name="/faq" class="com.mypackage.FAQAction" autowire="byType" />

Ich habe diese Technik gefunden die eleganteste zu sein, ist es nicht alten Code nicht beeinträchtigt, die nicht Feder nicht verwendet.

Es gibt mindestens zwei weitere Möglichkeiten der Streben 1 mit Feder zu integrieren. Es ist ein Artikel bei IBM developer, die die Vor- und Nachteile der verschiedenen Lösungen erklärt, google „Holen Sie sich einen besseren Griff auf Struts Aktionen, mit Spring“ (Newbies wie mich sind nicht enthalten Links erlaubt).

Beantwortet am 25/05/2009 um 15:01
quelle vom benutzer

stimmen
2

Von einem Streben 1 Actionform-Klasse benötigen Sie werden:

WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext).getBean("yourService");
Beantwortet am 09/12/2008 um 23:03
quelle vom benutzer

stimmen
1

Normalerweise fügen Sie die Feder contextloader Zuhörer auf Ihre Web-xml.

<listener>
 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

Dann fügen Sie

<constant name="struts.objectFactory" value="spring"/>

auf Ihre struts.xml.

Dann in Ihrer Action-Klasse können Sie sagen Dinge wie:

class MyAction {
  @Autowired MyService service;
   ....
}

Das ist alles, was es für struts2 ist.

Beantwortet am 09/12/2008 um 21:54
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more