【发布时间】:2014-07-14 15:05:57
【问题描述】:
在 jsp 文件中的 <script> 标记中,我有一些如下所示的代码:
var chart = new myChart({'id': ${user.id}, 'type': ${user.type}, 'name': {user.name});
其中user 是在服务器端设置的Spring 模型属性。我的问题是,通过用户的每个不同领域感觉很笨拙。如果我能做这样的事情就好了:
var chart = new myChart('user': "${user}");
但是,当这样做时,${user} 的值将是一个对象字符串,如下所示:User{id=1, type='admin', name='foo'}
我知道我可以将这个字符串解析为我的外部 js 中的一个对象,但感觉应该有一种更简洁的方法来做到这一点。感谢您的帮助。
编辑:离开下面卡梅伦的回答,我可以将它添加到我的服务器端控制器代码中:
model.put("user", user);
String userJSON = MyJSONSerializer.serialize(user);
model.put("userJSON", userJSON);
然后在我的 JSP 中我可以这样做:
var chart = new myChart({'user': JSON.parse('${userJSON}')});
这确实解决了我的选项对象混乱的问题,但它带来了使用两个模型属性来获取相同的确切数据的问题。如果我可以为 user 对象使用一个模型属性,然后可以以某种方式即时将其编码为 JSON,那将是理想的。
【问题讨论】:
标签: javascript spring jsp