Tenho uma aplicação desenvolvida com spring 2.0.6, utilizando ModelAndView - Controller para tratar do conteúdo e funções das páginas jsp’s, e no novo projeto resolvi usar internacionalização para os textos, já que os antigos desenvolvedores não usaram na época do desenvolvimento.
Porém, ao usar o spring-context 2.5 (para usar org.springframework.context.support.ResourceBundleMessageResource), ao tentar compilar o projeto recebi um erro de incompatibilidade:
Unable to create Java 1.5 dependent parser: org.springframework.context.annotation.ComponentScanBeanDefinitionParser.
Busquei na internet e descobri que isso era problema de incompatibilidade de versão entre os jars do spring. Meu spring tinha versão 2.0.6 e spring-context era 2.5.2. Então troquei a versão do spring para 2.5.2 também, só que ao trocar a versão do spring para 2.5 meus controllers deixaram de funcionar, pois a versão 2.5.2 do spring não possui o pacote web.servlet.
Alguém sabe uma forma de poder usar internacionalização neste projeto, SEM ter que mudar a estrutura do controle das páginas?
Aqui vai um exemplo do que eu tenho:
Controller:
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class ListaBarrasController implements Controller {
/** servicos relacionados ao agendamento */
private AgendaServices agendaServices;
/** Servicos relacionados ao Xml. */
private XmlServices xmlServices;
/** view da pagina de montagem dos combos select */
private String successView;
/** logs */
private Logger log = Logger.getLogger(getClass());
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception
{
// Parametros recebidos
int idParceiro; // id do parceiro
// Objetos da pagina
List < Barra > barras = null;
Parceiro parceiro = null;
String param;
param = request.getParameter(AgendamentoUtil.PR);
if(param==null|| InOutVerifica.verificaInt(param)<0)
{
idParceiro = AgendamentoUtil.ID_INVALIDO;
}
else
{
idParceiro = Integer.parseInt(param);
}
if(idParceiro<0)
{
log.error("Id do parceiro (pr) nao definido");
throw new Exception("Id do parceiro (pr) nao definido");
}
parceiro = xmlServices.consultaDadosParceiro(idParceiro);
if(parceiro==null || parceiro.getIdParceiro()<0)
{
log.error("Erro ao selecionar parceiro");
throw new Exception("Erro ao selecionar parceiro");
}
barras = agendaServices.listaBarras(parceiro);
if(barras==null || barras.size()<=0)
{
log.error("Lista de barras nao definida");
throw new Exception("Lista de barras nao definida");
}
ModelAndView mAV = new ModelAndView();
mAV.setViewName(successView);
mAV.addObject(AgendamentoUtil.BARRAS, barras);
return mAV;
}
JSP:
[code]<%@ taglib prefix=“c” uri=“http://java.sun.com/jstl/core_rt”%>
<%@ taglib prefix=“spring” uri=“http://www.springframework.org/tags”%>
<html>
<head>
<title>Barras</title>
<meta http-equiv=“content-type” content=“text/html; charset=ISO-8859-1”>
</head>
<body>
<table border=“1” cellspacing=“0”>
<tr>
<td style=“font-weight: bold; text-align: center;”>
Origem
</td>
<td style=“font-weight: bold; text-align: center;”>
Descrição
</td>
<td style=“font-weight: bold; text-align: center;”>
Posições
</td>
<td style=“font-weight: bold; text-align: center;”>
Tam. Desc.
</td>
<td style=“font-weight: bold; text-align: center;”>
Tam. Preço
</td>
</tr>
<c:choose>
<c:when test="${!empty barras}">
<c:forEach var="barra" items="${barras}">
<tr>
<td style="text-align: center;">
<c:out value="${barra.origem}"/>
</td>
<td>
<c:out value="${barra.descricao}"/>
</td>
<td style="text-align: center;">
<c:out value="${barra.posicoes}"/>
</td>
<td style="text-align: center;">
<c:out value="${barra.tamDescricao}"/>
</td>
<td style="text-align: center;">
<c:out value="${barra.tamPreco}"/>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</table>
</body>
</html>[/code]