【发布时间】:2013-06-11 06:39:58
【问题描述】:
我有一个问题:我有一个 List<User> 的 java 对象,我想将它传递给 javascript 以填充 jQuery 自动完成的源代码。
从jsp我通过这个标签传递会话中存在的对象
<input type="hidden" id="all_users" value=" < s: property value="#session.allUsers" /> " />
然后在javascript中
var allUsers = $('#all_users').val().replace('[','').replace(']','').split(',');
现在我不知道下一步是什么,因为我获得了 bean.User@4a255c 的值。如何转换此对象以在 javascript 中对其进行管理并获取包含的值?
【问题讨论】:
-
你可以使用 JSON。例如,使用 Jackson 将您的
List<User>序列化为 JSON 数组,然后使用 JavaScript 的内置 JSON 功能对其进行解析以使其成为数组。 -
您是否尝试过在 allUsers 值上使用 JSON.parse?
-
列表有多大?是否要求您在客户端页面中有数据,还是 Ajax 就足够了? JS 是否在 JSP 外部?
-
列表可能很大,每个项目都有 3 个字段。现在我尝试了 JSON 并且 java 对象在 json 对象中的转换是可以的,但是当我通过这个标签传递 jsp 中的值时: "/> 在 javascript 中,该值的解析不起作用,因为它是一个未知对象......在这里我展示了我是如何写的: var allUsers = $('#all_users'); var 数组 = JSON.parse(allUsers);问题出在哪里?
-
问题解决了,我忘了调用方法 .val() var allUsers = $('#all_users').val(); var 数组 = JSON.parse(allUsers);现在好了,JSON很强大!
标签: java javascript jquery autocomplete struts