Revista Economía

Freemarker: acceso a las propiedades de los objetos de una lista

Publicado el 10 junio 2016 por Elvenbyte @elvenbyte

freemarkerFreemarker, como todos los generadores de plantillas, es muy especial con su nomenclatura. Mientras utiliza “$” para especificar las variables, para la lógica empleará “#“, de forma muy similar a como lo hacen otros, como por ejemplo Thymeleaf, con su integración en Spring MVC.

Así, al acceder a una lista lo que hacemos es recorrerla, es decir que generamos un bucle. Después accedemos a los elementos de cada vuelta del bucle, y como objetos que son, accedemos a sus propiedades a través del “.”. Veamos un ejemplo:

<#list lineItems as lineItem> <tr> <td>${lineItem.itemNo}</td> <td>${lineItem.quantity}</td> <td>${lineItem.type}</td> <td>${lineItem.price}</td> <td>${lineItem.shipping}</td> <td>${lineItem.gst}</td> <td>${lineItem.totalPrice}</td> </tr> </#list>

1234567891011 <#list lineItems as lineItem>     <tr>  <td>${lineItemitemNo}</td>  <td>${lineItemquantity}</td>  <td>${lineItemtype}</td>  <td>${lineItemprice}</td>  <td>${lineItemshipping}</td>  <td>${lineItemgst}</td>  <td>${lineItemtotalPrice}</td>   </tr></#list>

Lo único que hay que tener en cuenta es que las propiedades tienen que tener acceso público. En caso de ser privadas y tener generados los getters y setters, a pesar de estar los getters, no haremos uso de ellos (aunque deben estar creados o no funcionará), sino de directamente las propiedades en sí.

Ya sé que suena un poco raro así, pero ya he dicho que Freemarker es especial, y esta es una de sus cosas.

Share

Volver a la Portada de Logo Paperblog