tutorial tag parameter español comentario java null freemarker

java - tag - freemarker string parameter



Cómo verificar la lista nula en freemarker (3)

También puede usar el operador de prueba de valor faltante , como tal:

<#if listS??> <#list listS.stuff as stuff> ${stuff.value} </#list> </#if>

Digamos que mi código java tiene List<String> listS =null y lo paso a mi archivo de plantilla.

Ahora quiero asegurarme de que if list has some data then only do something .

Yo he tratado

<#if listS = null> AND <#if !listS> AND <#if listS?size=0>

Pero ninguno de estos parece estar funcionando. Tengo un poco de lógica en mi código de Java; a través de la cual, si alguna condición es verdadera, entonces new esta listS y la puebla.

Por lo tanto, necesito saber si listS ha listS o solo es nulo, en mi archivo de plantilla.

¿Cómo hago esto? Gracias.

EDITAR: También, tengo una lista de Estructuras, cada una conteniendo esta listaS, (poblada o no es un problema diferente), y estoy pasando toda la lista de estructura, por lo tanto pasando un valor booleano al archivo de plantilla junto con mi lista de Estructuras no es posible, ya que tendré que atravesar dentro de cada lista, y ese recorrido que quiero hacer en el archivo de la plantilla en sí.

EDIT 2: Para aquellos que saben qué es Java null, FreeMarker 2.3.x los trata como valores perdidos. Simplemente, el lenguaje de plantilla no conoce el concepto de nulo. Por ejemplo, si tiene un bean que tiene una propiedad de nombre de soltera, y el valor de esa propiedad es nulo, entonces es lo mismo que si no existiera tal propiedad en absoluto, en lo que respecta a la plantilla (suponiendo que no configurado FreeMarker para usar algún contenedor de objetos extremos, eso es). El resultado de una llamada al método que devuelve nulo también se trata como una variable faltante (de nuevo, suponiendo que se utiliza alguna envoltura de objetos habitual). Ver más en las preguntas frecuentes.

Manual de Freemarker

Pero todavía no tengo la respuesta de cómo hacerlo funcionar, si es posible.


Use el has_content incorporado:

<#if list5?has_content>


<#list myList![] as element> <#-- do something per element --> </#list>

Si la lista es nula o está vacía, el resultado estará vacío.