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" />