【发布时间】:2014-09-16 06:10:09
【问题描述】:
我正在尝试使用 Struts 2 和 jQuery 构建一个 Web 应用程序。
更改下拉列表时,我需要从数据库中获取详细信息。在我的struts.xml 配置中,我定义了方法和动作如下:
<result name="addressChange">
<param name="root">requestBean</param>
</result>
当我在各个地方进行更改后执行应用程序时,请求被传递给Action 类和DAO 方法,并且控制成功返回到屏幕。但返回的数据在屏幕上不可用,我收到一条错误消息:
在 jquery 中找不到 url ... 404(匿名函数)ajax。
由于我有其他一些 ajax 调用,所以我比较了它们,发现 struts.xml 中缺少结果类型,然后我同样更改了它。它现在工作正常。
<result name="addressForBrigade" type="json">
<param name="root">requestBean</param>
</result>
问题是:
- Struts 是如何将其识别为 JSON 对象,又如何将其覆盖到 POJO 中?
- 我们什么时候应该在 Struts 2 中使用 JSON 作为结果类型?
- 我们可以使用其他结果类型吗?
- 每当有 AJAX 调用时,我们是否需要将结果类型用作 JSON?
【问题讨论】:
-
在回答您的其他问题时,我已经linked this;在那个问答中有一个来自 RomanC 的答案,它解释了如何使用
stream结果,如果您想在不使用json结果的情况下返回 JSON 对象。 BTW JSON 是当今 AJAX 调用的标准 -
@AndreaLigios:感谢您的建议。它现在给出了一个清晰的想法。我最大的挑战是,当我在文本框中输入值并按 ENTER 键时,表单被提交,我的意思是相应的操作方法被调用。我试图不提交表格,但不能。我使用 preventDefault() 停止和其他一些方法,但不能。你也可以帮我解决这个问题吗?