gpt4 book ai didi

jquery - 在 Ajax 应用程序中将数据从 servlet 传递到 javascript 代码?

转载 作者:行者123 更新时间:2023-12-03 23:05:06 24 4
gpt4 key购买 nike

我有一个简单的 jsp/servlet 应用程序,我想向此应用程序添加 AJAX 功能。我使用 JQuery ,但使用什么 JavaScript 框架并不重要。这是我的代码:

<script type="text/javascript">

function callbackFunction(data){
$('#content').html(data);
}
$('document').ready(function(){

$('#x').click(function() {
$.post('/ajax_2/servlet',callbackFunction)

});
});
</script>
<body>
<a href="#" id="x">Increase it</a>
<div id="content"></div>

</body>
</html>

Servlet

    HttpSession session = request.getSession();
Integer myInteger = (Integer)session.getAttribute("myInteger");
if(myInteger == null)
myInteger = new Integer(0);
else
myInteger = new Integer(myInteger+1);
session.setAttribute("myInteger", myInteger);
response.getWriter().println(myInteger);

问题:

我使用out.print将数据从servlet传输到javascript代码(ajax代码),但是如果我有一个复杂的结构,例如对象向量或像这样的事情,传输数据的最佳方式是什么? XML 文件、JSON 怎么样?是否有任何特殊 jsp/servlets 库可以将数据从 servlet 传输到 ajax 应用程序?如何在 callbackFunction 中解析这些数据?

最佳答案

最好的方法是使用 JSON 。有几个 Java 库可以将完整的 Java 对象转换为 JSON 字符串,反之亦然。可以在 Javascript 中以完全自然的方式访问更多 JSON,而无需以另一种格式来回转换/修改数据。

对于服务器端部分,我强烈建议选择Google Gson作为 JSON 序列化器。 Gson 是首选,因为它支持将复杂的 Javabean 和数组、集合和映射转换为 JSON,反之亦然,而无需编写一行代码。它甚至支持泛型。基本上您需要做的就是以下内容:

String json = new Gson().toJson(object);

检查user guide了解有关 Gson 强大功能的更多信息。

总而言之,服务器端的以下内容就足够了:

public static void writeJson(HttpServletResponse response, Object object) throws IOException {
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(new Gson().toJson(object));
}

关于jquery - 在 Ajax 应用程序中将数据从 servlet 传递到 javascript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2589047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com