In un modello di NVelocity come si fa a verificare l'esistenza di un immobile

StackOverflow https://stackoverflow.com/questions/3117122

  •  29-09-2019
  •  | 
  •  

Domanda

Sto costruendo un semplice modello di NVelocity ma non riesco a capire come banco di prova per l'esistenza di una variabile -. In questo esempio voglio provare se il contesto contiene una proprietà callwed utente

so di poter implementare la stessa funzionalità un ciclo foreach hacked ma mi chiedevo se c'è un modo migliore.

Velocity.Init();

VelocityContext context = new VelocityContext();
context.Put("from", "somewhere");
context.Put("to", "someone");
context.Put("subject", "Welcome to NVelocity");


String s = @"From: $from To: $to Subject: 
#if($context.ContainsKey('User'))
    We Have a User
#else
    No User Found
#end";

var sw = new System.IO.StringWriter();
Velocity.Evaluate(context, sw, "", s);

string merged = sw.ToString();
È stato utile?

Soluzione

Il contesto in sé non è una parte del contesto, in modo da $context non funziona. È possibile verificare la presenza in questo modo:

#if ($user)
  we have a user
#else
  no user found
#end
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top