【问题标题】:How to structure response/requests in java servlet with ajax如何使用 ajax 在 java servlet 中构造响应/请求
【发布时间】:2014-09-15 07:00:08
【问题描述】:

我正在创建一个网站,它有一个在后台运行的 java servlet(作为服务)和一个运行 ajax 作为请求/响应工具的 html 前端。
我需要一些关于如何使请求/响应结构正确的输入。现在我想在 java servlet 中有一个开关并向它发送操作参数。然后发回响应。
但我不确定如何以正确的方式解决这个问题 - 我如何发送不同的回复?如果它只是一个更新命令字符串,我应该发送文本本身还是只是一个 javascript 将变成文本的命令号?我猜对象应该被序列化并作为 json 发送?我将如何在请求/响应的前后制作正确的开关结构?

【问题讨论】:

  • 您可以考虑可以从您的 java servlet 传递并在 javascript ajax 中访问的 JSON。 :)(P.S.:搜索一下,有很多选择,比如:相似不一样:stackoverflow.com/questions/6154845/…

标签: java javascript ajax servlets


【解决方案1】:

您可以使用java.util.Map<String, String> 将字符串值作为键值对存储在您的Servlet 中。喜欢,

Map<String, String> json = new HashMap<String, String>();
json.put("fileId", fileId);
json.put("name", fileName);

并通过使用 org.codehaus.jackson.map.ObjectMapper 将此 Map 转换为字符串来返回字符串。

return new ObjectMapper().writeValueAsString(json); // this will return String

在成功方法中检索 Ajax 响应中的键值对,

success: function(response) {
    console.log(response.fileId);
    console.log(response.fileName);
}

【讨论】:

  • 感谢您的输入 - 您将如何使用 Objectmapper 转换为字符串?
  • @Mac Luc 使用 ObjectMapper().writeValueAsString() 方法,该方法可用于将任何 Java 值序列化为字符串。检查更新的答案。
猜你喜欢
  • 1970-01-01
  • 2011-08-07
  • 2015-04-26
  • 2013-01-16
  • 1970-01-01
  • 2011-10-11
  • 2023-03-21
  • 2013-03-10
  • 1970-01-01
相关资源
最近更新 更多