Hello freemarkers gurufunzioni FreeMarker vs macro
ho capito che la differenza tra le funzioni FreeMarker e macro è che le macro possono stampare all'uscita, ma non possono restituire valori, mentre le funzioni possono restituire valori, ma non è possibile stampare all'uscita.
Beh, sto avendo un problema, perché ho bisogno di entrambi per stampare e valori di ritorno:
sto facendo esplorazione albero ricorsivo con freemarker e quindi ho una macro chiamato recurvively. Mentre l'albero viene esplorato, ho bisogno sia di stampare le informazioni del nodo sull'output, ma anche di calcolare e restituire statistiche sui nodi esplorati (ad esempio la somma di una proprietà specifica dei nodi esplorati)
Se uso macro essendo chiamato in modo ricurvo, posso stampare le informazioni sul nodo ma non posso restituire le statistiche all'entità chiamante.
Se utilizzo una funzione chiamata ricorsivamente, posso restituire le statistiche ma non posso stampare le informazioni del nodo sull'output.
Una soluzione potrebbe essere quella di esplorare l'albero due volte, una volta per stampare le informazioni sul nodo e un'altra per raccogliere le statistiche, ma mi dispiacerebbe usare questa soluzione poco elegante.
Qualcuno può proporre una soluzione migliore?
Grazie