2013-01-04 15 views
7

Nel mio java/primavera app, ho un modello di velocità in cui creo una mappa che terrà valori inseriti anche nel modello:Controllare se una mappa è vuota in Apache Velocity

#set ($myMap = {}) 

quello che voglio fare è avere un controllo if/else se la mappa è vuota. Questo non sembra funzionare per me. Ho provato:

#if ($myMap.empty) 
... 
#if ($myMap.size == 0) 

Nessuno di questi lavori. Qual è il modo corretto per verificare se una mappa è vuota in velocità. Ho provato a cercare la documentazione e SO, ma non riesco a trovare un esempio.

risposta

15

isEmpty e size sono metodi, in modo che deve essere utilizzato in questo modo:

#if ($myMap.isEmpty()) 
... 
#if ($myMap.size() == 0) 
+2

Il metodo dovrebbe be 'isEmpty()' - ma una volta che li ho usati come metodi hanno funzionato. Mi ero aspettato che usarli come proprietà avrebbero chiamato il metodo JavaBeans su di essi per impostazione predefinita. –

+0

@JohnFarrelly Hai ragione! Ho risolto la risposta con il nome del metodo corretto. Grazie. –

0

ho aggiunto .getRows() prima .isEmpty() per farlo funzionare:

#if($!rows.getRows().isEmpty()) 
Problemi correlati