Creo que ya esta por ahi resuelto el problema pero bueno te pongo como lo tengo...
tienes que crear un bean en el strut config:
Código PHP:
<form-bean name="localeForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="lang" type="java.lang.String"/>
</form-bean>
definir alli el action
Código PHP:
<action path="/locale" name="localeForm" type="com.ruta.action.LocaleAction" scope="request" validate="false">
<forward name="vale" path="action o pagina donde quieras redirigir"/>
</action>
y mas abajo definir donde estaran tus mensajes
Código PHP:
<message-resources parameter="com.ruta.propiedades.mensajes"/>
en esta ultima ruta tendras que tener los ficheros. properties con el nombre "mensajes" barra baja y lo del idioma que quieras, por ejemplo
mensajes_en.properties
para el valor por defecto con mensajes.properties es suficiente
, despues tienes que crear ese action en com.ruta.action.LocaleAction
Código PHP:
package com.ruta.action;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class LocaleAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IllegalAccessException, InvocationTargetException,
NoSuchMethodException {
String language = (String) PropertyUtils.getSimpleProperty(form, "lang");
if (language != null && language.length() > 0) {
Locale locale = new java.util.Locale(language, "");
HttpSession session = request.getSession();
session.setAttribute(Globals.LOCALE_KEY, locale);
}
return mapping.findForward("vale");
}
}
y para donde quieras lo de los idiomas, pones un link
Código PHP:
<html:link action="/locale?lang=es"> o lang=en para ingles o ya dependiendo de los idiomas
Asi para acceder a las etiquetas en tus idiomas, donde mensaje sera una llave del archivo mensajes.properties:
mensaje= hola que tal
<bean:message key="mensaje"/>
creo que no me dejo nada, un saludo y suerte!