Por lo que sé, Google Closure Template no permite pasar objetos Java a la plantilla (en comparación con FreeMarker). Así que no puedo hacer algo como:Pasando el objeto Java a la plantilla de cierre?
// 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}
Estoy pensando si quiero hacer esto probablemente que escribir una función personalizada que utiliza la reflexión para convertir objetos de golf en un mapa? No tengo experiencia con Java Reflection. ¿Hay tal función disponible?
initilaizing params.put statement está bien, a continuación, ¿cómo puedo pasar este valor (soydata) a las plantillas. – gokul