Foros del Web » Programación para mayores de 30 ;) » Java »

Include dentro de list en FreeMarker

Estas en el tema de Include dentro de list en FreeMarker en el foro de Java en Foros del Web. Hola, estoy trabajando con Freemarker y me ha surgido una pequeña duda. He puesto dentro de una list un include, pero necessito que el indice ...
  #1 (permalink)  
Antiguo 28/11/2008, 06:26
 
Fecha de Ingreso: septiembre-2008
Mensajes: 21
Antigüedad: 15 años, 8 meses
Puntos: 0
Include dentro de list en FreeMarker

Hola,

estoy trabajando con Freemarker y me ha surgido una pequeña duda.

He puesto dentro de una list un include, pero necessito que el indice de esa list (que va aumentando cada vez que se lista un objeto) entre dentro del include (que es otra plantilla) para poder aumentar un valor en la misma medida.

<#list 1..membresUF as i>
<tr><td><table class=striped_box>
<tr><th>Dades del membre ${i_index + 1}
<tr><th><#include "/templates/TransfExp3.ftl">
</table>
</#list>

Lo que necessito es que el i_index entre en el include para poder trabajar con el, en la plantilla TransfExp3.ftl

Alguien me puede ayudar?
  #2 (permalink)  
Antiguo 28/11/2008, 15:13
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Include dentro de list en FreeMarker

¿En vez de eso por que no haces una macro con parametros?

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 01/12/2008, 02:56
 
Fecha de Ingreso: septiembre-2008
Mensajes: 21
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Include dentro de list en FreeMarker

He estado mirando, y no veo la manera de hacerlo, ya que a dia de hoy aun no he usado las macros. A que te refieres que haga con la macro?
  #4 (permalink)  
Antiguo 01/12/2008, 08:16
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Include dentro de list en FreeMarker

Aquí puedes encontrar la parte del manual de FreeMarker que trata las macros:
http://freemarker.sourceforge.net/do...ive_macro.html

Basicamente es casi como definir funciones que imprimen trozos de template, a los que puedes pasar parametros. Las defines en un sitio y las llamas en los sitios que quieras pasandole los parametros que te hagan falta.

Así podrias pasarle i_index a la macro como parametro y usarla dentro.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 02/12/2008, 03:52
 
Fecha de Ingreso: septiembre-2008
Mensajes: 21
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Include dentro de list en FreeMarker

YA habia esta mirando esa parte de las macros y he estado haciendo varias pruebas sin exito. Si lo he entendido bien seria crear una macro del archivo donde está el código que puso y ejecutar esa macro dentro de TransfExp3.ftl. Por lo que he visto en la documentacion de freemarker, al crear la macro es donde pone la variable ${varialbe} y al ejecutar esa macro con parametros, le da un valor, pero lo que busco es que ese valor vaya canviado a medida que se va ejecutando la lista, no que sea un valor fijo.

No lo acabo de ver claro...

Grácias de antemano quien me pueda ayudar.
  #6 (permalink)  
Antiguo 02/12/2008, 04:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Include dentro de list en FreeMarker

No has entendido como funcionan las macros, sería al reves: Tu defines una macro en TransfExp3.ftl, haces un include en el fichero que mostraste (UNA VEZ, al principio por ejemplo) y luego llamas a la macro dentro del bucle pasandole como parametro el valor i_index, que será diferente para cada llamada de la macro.

Es como usar una función.
S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #7 (permalink)  
Antiguo 13/01/2009, 13:31
 
Fecha de Ingreso: enero-2009
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Include dentro de list en FreeMarker

Hola, resulta que yo tambien estaba probando los ejemplos que vienen con FreeMarker y me sale el mismo error.Queria saber si lo habias solucionado, y si me podias ayudar.Muchas gracias.
Mi mail es [email protected]




type Informe de Excepción

mensaje

descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.

excepción

javax.servlet.ServletException: Error instanciando clase de servlet example.HelloServlet
org.apache.catalina.authenticator.AuthenticatorBas e.invoke(AuthenticatorBase.java:433)
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:875)
org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:689)
java.lang.Thread.run(Unknown Source)

causa raíz

java.lang.NoClassDefFoundError: freemarker/template/TemplateException
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unk nown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.catalina.authenticator.AuthenticatorBas e.invoke(AuthenticatorBase.java:433)
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:875)
org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:689)
java.lang.Thread.run(Unknown Source)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:49.