Spring no Struts
Autor: Fred Belisario | Publicado: 2008-03-14T13:57:00-07:00

  <!--   @page { size: 8.5in 11in; margin: 0.79in }   P { margin-bottom: 0.08in }  -->     Este projeto foi criado a partir de um struts-blank.war e utiliza a o 'spring.jar' em WEB-INF/lib
Primeiro vamos colocar o plugin do Spring  no struts-config
              <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation"
        value="/WEB-INF/applicationContext.xml"/>
<!-->O ContextLoaderPlugIn carregará o contexto da aplicação Spring (WebApplicationContext)
Nossa Classe java que será instanciada pelo Spring é bem simples, terá apenas o atributo nome (String) que será modificado pelo Spring
           package br.com.tut;
public class PegaString {
private String nome = "Joao";
public String getNome() {
  return nome;
}    public void setNome(String nome) {               this.nome = nome;
}
}Nosso applicationcontext.xml terá as seguintes tags  xml version="1.0" encoding="UTF-8"?>      <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://www.springframework.org/schema/beans             http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">              <bean id="pegaString" class="br.com.tut.PegaString">
        <property name="nome">
            <value>Fred<!--value>
        <!--property>
    <!--bean>
<!--beans>  Esse aplicationContext apenas irá trocar o atributo nome para 'Fred'  Voltando no struts-config, teremos a chamada para a Action    <action path="/pegaNome" type="br.com.action.ListaStringAction" >        <forward name="success" path="/WEB-INF/result.jsp"/>  <!--action>    Para que nossas Actions tenham acesso ao contexto da aplicação, elas irão extender a classe ActionSupport (org.springframework.web.struts.ActionSupport) do Spring ao invés do tradiciona Action do Struts.  package br.com.action;          import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.context.ApplicationContext;
import org.springframework.web.struts.ActionSupport;
import br.com.tut.PegaString;  public class ListaStringAction extends ActionSupport {         public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,
   HttpServletResponse response) throws Exception{             ApplicationContext context = getWebApplicationContext();
       PegaString pega = (PegaString)context.getBean("pegaString");         request।setAttribute("nome", pega।getNome());      
              return mapping.findForward("success");
   }
}
A linha, “ApplicationContext context = getWebApplicationContext();“ pegará o cntexto do Spring e “PegaString pega = (PegaString)context.getBean("pegaString");” irá obter o bean PegaString.  Para completar utilizaremos o jsp result.jsp apenas para imprimir no browser o novo nome.
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@page isELIgnored="false"%>     nome: ${nome}  
 
 Este tutorial tem o objetivo apenas de exemplificar o funcionamento do Spring com Struts. 
 Existe outra forma de implementar o Spring com Struts que veremos futuramente.
Não deixe de visitar www.ydartes.com.br