struts2 internationalization jsp-tags

struts2 - Cambiar el comportamiento de clases de Struts 2, i18n cuando no se encuentra la clave



internationalization jsp-tags (1)

Usamos getText en acciones, setMessageKey en validadores y <s:text> en archivos jsp para una aplicación i18n.

Cuando Struts 2 no pudo encontrar una clave en los paquetes de recursos, devuelve la clave en sí. Por ejemplo form.transfer.confirm .

¿Cómo podemos cambiar este comportamiento en la forma en que, en lugar de la clave en sí, Struts2 devuelve una cadena vacía?


Necesita crear una implementación personalizada de TextProvider y anular los métodos getText .

1) Crear clase (por ejemplo, EmptyDefaultTextProvider ) extendiendo una de las implementaciones existentes de TextProvider (por ejemplo, TextProviderSupport ).

2) getText todos los métodos getText como ese:

public String getText(String key, String defaultValue) { return super.getText(key, ""); }

3) Usa tu clase personalizada como el proveedor de texto predeterminado. Ponga debajo en struts.xml.

<constant name="struts.xworkTextProvider" value="emptyDefaultTextProvider" /> <bean type="com.opensymphony.xwork2.TextProvider" name="emptyDefaultTextProvider" class="packagepath.EmptyDefaultTextProvider" scope="default" />