使用velocity将Java对象转换为Javascript对象

时间:2010-08-11 18:03:56

标签: java javascript html velocity

如果有一个Java对象(比如一个User对象),我使用velocity来模板化页面 所以我可以访问用户对象中的字段,如$ {user.id},是否有一种简单的方法将其转换为javascript对象(所以我可以访问User对象的字段)?

我可以为javascript变量分配一个值,如

var id = "${user.id}";

但如果我这样做

var user = "${user}";

这不是真的:

 id == user.id;

我宁愿不必做

  var user = { id: "${user.id}" ...}

1 个答案:

答案 0 :(得分:3)

也许您应该将用户对象转换为JSON。

您可以创建一个使用反射的实用程序方法,从对象获取每个属性并放入String。也许你可以创建一个注释来标记JSON中应该包含哪些属性。

这样您就可以向您的模板发送类似这样的内容

"{id: '1', name:'stevebot'}"

在你的速度文件中

var user = ${user};