您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在AJAX中处理servlet输出

在AJAX中处理servlet输出

var profileXML = eval(<%=request.getAttribute("data")%>);

首先,我建议您了解JavaScript和JSP之间的隔the。JS完全在 运行,而JSP / Java完全在 运行。它们肯定不会像您认为的那样同步运行。要了解更多信息,请阅读此博客文章

function ajaxFunction ( )

其次,我建议您使用具有jQuery之类的 Ajaxical功能的,健壮的,经过充分开发的,维护良好的JavaScript库,而不是重新发明AJAX滚轮并与浏览器特定的问题/麻烦/行为/痛苦打交道/苦苦挣扎/烦恼。我还建议使用JSON作为服务器Java Servlet和客户端JavaScript之间的数据传输格式。在Java方面,您可以为此使用出色的Gson库。

这是所有提到的技术的启动示例。让我们从Servlet和JavaBean开始:

public class JsonServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        List<Data> list = dataDAO.list();
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write(new Gson().toJson(list));
    }
}

public class Data {
    private Long id;
    private String name;
    private Integer value;
    // Add/generate getters/setters.
}

JsonServlet(你可以命名为任何你想要的,这只是一个简单的例子)应该被映射web.xml一个已知的url- pattern,让我们用/json这个例子。该类Data仅代表HTML表(和数据库表)的一行。

现在,这是如何使用jQuery.getJSON加载表的方法

$.getJSON("http://example.com/json", function(list) {
    var table = $('#tableid');
    $.each(list, function(index, data) {
        $('<tr>').appendTo(table)
            .append($('<td>').text(data.id))
            .append($('<td>').text(data.name))
            .append($('<td>').text(data.value));
    });
});

tableid过程的表示id所述的<table>有问题的元素。

应该是这样。毕竟这很简单,请相信我。祝好运。

Jave 2022/1/1 18:16:43 有344人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶