如果有一个Java对象(比如一个User对象),我使用velocity来模板化页面 所以我可以访问用户对象中的字段,如$ {user.id},是否有一种简单的方法将其转换为javascript对象(所以我可以访问User对象的字段)?
我可以为javascript变量分配一个值,如
var id = "${user.id}";
但如果我这样做
var user = "${user}";
这不是真的:
id == user.id;
我宁愿不必做
var user = { id: "${user.id}" ...}
答案 0 :(得分:3)
也许您应该将用户对象转换为JSON。
您可以创建一个使用反射的实用程序方法,从对象获取每个属性并放入String。也许你可以创建一个注释来标记JSON中应该包含哪些属性。
这样您就可以向您的模板发送类似这样的内容
"{id: '1', name:'stevebot'}"
在你的速度文件中
var user = ${user};