【问题标题】:Convert list of java object in javascript arraylist在javascript arraylist中转换java对象列表
【发布时间】: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&lt;User&gt; 序列化为 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


【解决方案1】:

我没有使用 struts 的经验,但您可以尝试以下方法:

<input type="hidden" id="all_users" value=" < s: property value="#Arrays.toString(session.allUsers.toArray())" /> " />

【讨论】:

  • 是的,我同意 cmets,JSON 会是更好的选择。
  • 有人可以给我一些例子或指导我如何使用 JSON 做到这一点吗?谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-01
  • 1970-01-01
  • 2018-08-07
  • 1970-01-01
  • 2014-11-10
  • 2017-07-28
相关资源
最近更新 更多