bloggers bloggers

Marco Napolitano
Messaggi: 79
Stelle: 0
Data: 17/02/22
Jader Jed Francia
Messaggi: 63
Stelle: 0
Data: 18/02/21
Paolo Gambetti
Messaggi: 2
Stelle: 0
Data: 11/11/19
Katia Pazzi
Messaggi: 1
Stelle: 0
Data: 27/06/19
Ezio Lombardi
Messaggi: 11
Stelle: 0
Data: 10/04/18
Chiara Mambretti
Messaggi: 25
Stelle: 0
Data: 27/02/17
Serena Traversi
Messaggi: 3
Stelle: 0
Data: 21/07/16
Francesco Falanga
Messaggi: 8
Stelle: 0
Data: 14/06/16
Antonio Musarra
Messaggi: 2
Stelle: 0
Data: 18/11/13
Simone Celli Marchi
Messaggi: 6
Stelle: 0
Data: 09/07/13
Indietro

Usare un vostro Service all'interno di un template velocity

Magari non vi è ancora capitato, ma potrebbe essere comodo utilizzare all'interno di un template velocity del codice applicativo di un vostro service.

I casi d'uso sono molteplici, ovviamente, ma l'idea è molto semplice: mi sono già sbattuto a fare tutta questa logica nello strato dei miei servizi e ora che sono nel tema o nel template di un web content mi sarebbe davvero molto comodo poterla riutilizzare senza doverla stare a riscrivere.

Peccato che è un po' complicato, perché se chiamo il mio service "semplicemente" così non mi viene risolta la variabile:

#set ($personeLocalService = $serviceLocator.findService("it.dvel.playground.service.PersoneLocalService"))

Allora come fare? Non funziona! Si è rotto!! :)

No, nulla di tutto questo! :)

Il problema è che dovete invocare il $serviceLocator passandogli il context dal quale recuperare il vostro service.

Ecco allora che la cosa comincia a funzionare se io chiamo il mio $serviceLocator così:

#set ($personeLocalService = $serviceLocator.findService("my-fantastic-new-and-powerful-portlet", "it.dvel.playground.service.PersoneLocalService"))

Spero d'esservi stato d'aiuto!

Se avete dubbi o commenti potete postarli qui sotto!

Alla prossima! :D

Commenti
Nessun commento. Vuoi essere il primo.