Per quanto ne so, il modello di chiusura di Google non consente il passaggio dell'oggetto Java nel modello (rispetto a FreeMarker). Quindi non posso davvero fare qualcosa di simile:Passaggio dell'oggetto Java nel modello di chiusura?
// Java file
class Course {
...
public function getName() {
return name;
}
}
// Main function
public static void main(String args[]) {
// Get all courses
List<Course> courses = Courses.getAllCourses();
Map<String, Object> params = new HashMap<String, Object>();
params.put("courses", courses);
String out = tofu.newRenderer("template.listCourses").setData(params);
}
// Soy file
/**
* @param courses List of courses
*/
{template .listCourses}
Courses List! <br/>
{foreach $course in $courses}
New Course: {$course.name}
{/foreach}
{/template}
Sto pensando se voglio fare questo probabilmente devo scrivere una funzione personalizzata che utilizza la riflessione per trasformare oggetto del corso in una mappa? Non ho esperienza con Java Reflection. Esiste una funzione simile?
inizializzare l'istruzione params.put va bene, successivamente, come posso passare questo valore (soydata) ai modelli. – gokul