/ / Struts 2 ADVERTENCIA: La expresión de valor por defecto contiene "+" evaluado como 'nullnull' - java, jsp, struts2, ognl, valuestack

Struts 2 ADVERTENCIA: La expresión de valor predeterminada contiene "+" evaluado como 'nullnull' - java, jsp, struts2, ognl, valgueck

Tengo un problema en mi aplicación Struts 2.

Leí el contenido de un iterador de una matriz.

Los elementos de la matriz están escritos por un iterador:

<s:text name="#wApps.title"/>

La etiqueta encuentra el elemento correcto y lo evalúa, pero la expresión resultante tiene una + carácter (por ejemplo: el elemento de la matriz tiene un valor: "Weather+ Free""), y continúa evaluándolo. Finalmente, escribe valor: nullnull.

¿Cómo puedo saltarme esta segunda evaluación?

Aquí está el registro:

Jun 18, 2013 5:29:40 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
WARNING: The first TextProvider in the ValueStack (rs.plusnet.android.market.AndroidMarket.UI.ListCategory) could not locate the message resource with key "**Weather+ Free**"
Jun 18, 2013 5:29:40 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
WARNING: The default value expression "Weather+ Free" evaluated to "**nullnull**"

Respuestas

1 para la respuesta № 1

Esto no es puntales, problema OGNL. OGNL no evalúa la expresión dos veces, sin una sintaxis especial que incluya subexpresiones. Sin embargo, el signo "+" es un operador que evalúa la expresión si la ingresa sin cuotas.

Rodee con cuotas el valor como este para evitar la evaluación.

<s:set var="title" value=""Weather+ Free""/>

o usar el valor en el cuerpo como este

<s:set var="title">Weather+ Free</s:set>

para comprobarlo

<s:property value="#title"/>

Además, si el valor está en la propiedad de acción o en cualquier otro ámbito, la doble evaluación nunca debería ocurrir.