Struts e Spring juntos?

votos
2

Eu sou muito novo para ambos Struts e Spring. Eu preciso saber como acessar um serviço da Primavera em uma Struts ActionForm. Mesmo um ponteiro na direção certa seria apreciada.

Publicado 09/12/2008 em 21:44
fonte usuário
Em outras línguas...                            


3 respostas

votos
2

Você está usando Struts 1 ou 2?

Se você estiver usando Struts 1, então existem algumas maneiras de fazê-lo. Eu prefiro fazê-lo usando org.springframework.web.struts.DelegatingActionProxy. Você precisa ter a primavera-webmvc-struts.jar no classpath.

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" />

Descobri essa técnica para ser o mais elegante, ele não afeta o código antigo que não usa Primavera.

Há pelo menos mais duas formas de integrar travessas 1 com mola. Há um artigo no IBM DeveloperWorks que explica os prós e contras das diferentes soluções, google "Obter um melhor controle sobre as ações Struts, com a Primavera" (novatos como eu não estão autorizados a incluir links).

Respondeu 25/05/2009 em 15:01
fonte usuário

votos
2

De uma classe ActionForm struts 1 você vai precisar de:

WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext).getBean("yourService");
Respondeu 09/12/2008 em 23:03
fonte usuário

votos
1

Normalmente você adiciona o contextloader ouvinte mola para seu xml web.

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

Então você adiciona

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

à sua struts.xml.

Então, em sua classe ação que você pode dizer coisas como:

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

Isso é tudo que existe para ela para struts2.

Respondeu 09/12/2008 em 21:54
fonte usuário

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