如何解析DWR返回的对象数组?
DWR 非常直接地处理原语列表。 我无法确定 DWR 方法调用返回的对象数组是否表示 JSON 对象。 有什么线索吗? 或者我是否必须将表示对象数组的 JSON 字符串返回给浏览器?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
DWR 非常直接地处理原语列表。 我无法确定 DWR 方法调用返回的对象数组是否表示 JSON 对象。 有什么线索吗? 或者我是否必须将表示对象数组的 JSON 字符串返回给浏览器?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
这个答案有点晚了,但这里是:)
好消息:DWR 还以一种非常直接的方式处理 Java 数组和集合。 只需返回它们,在客户端您将获得 JavaScript 数组对象。 (在典型情况下,例如数组或集合中的基元或字符串。如果内容更奇特,您可能需要定义转换器;更多内容见下文。)
以下是 DWR 文档(强调我的):
因此,您绝对不需要这些 JSON 字符串(尽管这可能是对于更复杂的数据结构来说是一个不错的选择)。
实际上,您可以返回更多类型的对象,而无需执行大量手动工作,因为 DWR 附带“转换器< /a>”用于许多典型用途。 例如,要使自定义“bean”样式 Java 对象在客户端 JS 中工作,您只需在
dwr.xml
中说明您要使用 bean 转换器:即使你的方法返回这些 bean 对象的列表(或数组)
......上面的配置就够了,还不错。
This answer is a little late, but here goes :)
Good news: DWR also handles Java arrays and Collections in a really straight-forward way. Just return them and on client side you'll get JavaScript Array objects. (In typical cases like primitives or Strings inside your array or Collection, that is. If the contents is something more exotic, you may need to define converters; more below.)
Here's a quote from DWR documentation (emphasis mine):
So you definitely won't need JSON strings for these (although that may be a good option for more complicated data structures).
You can actually return many more kinds of objects without doing a lot of manual work because DWR comes with "converters" for lots of typical uses. For example, to make your custom "bean" style Java objects work in client-side JS, all you need to say in
dwr.xml
is that you want to use the bean converter:Even if your method returns a List (or array) of those bean objects...
... the above configuration suffices, which is pretty nice.