sábado, mayo 05, 2007

fmt:message no funciona

Estoy desarrollando un nuevo proyecto usando Spring MVC, me parece una plataforma bastante adecuada, algo entre jsp, struts y jsf.

Cuando seguí los pasos que muestra el tutorial, todo funciona perfectamente, pero cuando quiero desarrollar un nuevo proyecto ya con Spring 2 no me funcionó el dentro del JSP. Me lo traducía como ???title???

Me aseguré de que archivo messages.properties estuviera en WEB-INF/classes.

Que exisistiera en el aplicacion-servlet.xml :
...
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename">
<value>messages</value>
</property>
</bean>
...

y aún así seguía con el error. De casualidad revisando nuevamente el aplicacion-servlet.xml, veo que en el nuevo no tengo una línea en el view resolver y aunque no tenía "nada que ver" ya me faltaban pocas cosas que probar y fué cuando por fin funcionó.
...
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.JstlView</value>
</property>
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
...

La línea mágica para mi caso fue incluir el viewClass como org.springframework.web.servlet.view.JstlView

Después de resolver el aparente problema, la solución parece muy simple y sobretodo obvia. Aquí estoy llamando al jstlView de Spring para una etiqueta que uso en Spring.