Lettura degli oggetti del modello mappati in Velocity Templates
Domanda
Ho una struttura Struts + Velocity come ad esempio una classe Person, la cui unica proprietà è un oggetto Car (con i suoi metodi getter/setter) ed è mappata su un modulo Velocity che invia a un'Azione, utilizzando ModelDriven e la struttura getModel .
Vorrei inserire un pulsante nel modulo che mostri "Visualizza auto" se la proprietà dell'auto non è nulla o car.id! = 0 o mostrare un altro pulsante "Scegli auto" se l'auto è nulla o car.id = 0.
Come posso codificarlo?Ho provato qualcosa del genere nel file modello:
#if($car != null)
#ssubmit("name=view" "value=View Car")
#else
#ssubmit("name=new" "value=Choose Car")
#end
Ma continuo a ricevere errori sul valore Null nel file #Se linea.
Ho anche creato un metodo booleano hasCar() in Person da provare, ma non riesco ad accedervi e non so perché.
E i tutorial di Velocity + Struts sono difficili da trovare o contengono buone informazioni.
Grazie
Soluzione
Dovresti cambiare la riga #if in:
#if($car)
Altri suggerimenti
Nella prossima versione di Velocity 1.6, sarai in grado di farlo #if( $car == $null )
senza messaggi di errore.Ciò ti consentirà di distinguere facilmente quando $car
è nullo e quando è falso.Per farlo ora è necessario #if( $car && $car != false )
, che semplicemente non è così amichevole.