Java 如何将JSONArray从一个JSP传递到另一个JSP,并在表中显示结果?
下面是我的JSP页面abc.JSP,我使用jQuery调用另一个JSP页面jspConnection.JSP,然后jspConnection.JSP将查询结果返回给abc.JSP,然后我需要使用结果在表中显示它们- 下面是我在abc.jsp中调用jspConnection.jsp的代码-Java 如何将JSONArray从一个JSP传递到另一个JSP,并在表中显示结果?,java,json,jsp,arrays,jsonobject,Java,Json,Jsp,Arrays,Jsonobject,下面是我的JSP页面abc.JSP,我使用jQuery调用另一个JSP页面jspConnection.JSP,然后jspConnection.JSP将查询结果返回给abc.JSP,然后我需要使用结果在表中显示它们- 下面是我在abc.jsp中调用jspConnection.jsp的代码- $.post("jspConnection.jsp", {'id': id}, function (data) { // make a new table here fr
$.post("jspConnection.jsp", {'id': id},
function (data) {
// make a new table here from JSONObject
// and show the result here
}
);
在迭代JSONObject之后,表在abc.jsp中应该是这样的-
FirstName LastName Address Email PhoneNumber
SomeValue SomeOtherValue SomeOtherValue SomeOtherValue SomeOtherValue
... ... ... .... ....
... ... ... .... ....
下面是jspConnection.jsp,我将从中将sql查询结果返回到abc.jsp页面。我的SQL查询将返回多行
下面是我正在执行的sql查询-
SELECT FirstName, LastName, Libs, Email, PhoneNumber from Testing;
现在,我需要返回上述SELECT查询的JSON对象-
JSONObject obj = new JSONObject();
JSONArray list = new JSONArray();
while (resultSet.next()) {
// This might be wrong way to make an object for my scenario
obj.put("FirstName", rs.getString(1)) ;
obj.put("LastName", rs.getString(2)) ;
obj.put("Address", rs.getString(3)) ;
obj.put("Email", rs.getString(4)) ;
obj.put("PhoneNumber", rs.getString(5)) ;
}
list.add(obj);
response.getWriter().write(obj.toString());
现在我不知道如何返回JSONObject,以便在abc.jsp中正确创建表。。由于目前我制作JSONObject和JSONArray的方式不正确,我想我无法理解如何正确地制作它?您需要在每次迭代开始时创建一个新的JSONObject,并且必须在每次迭代结束时将其添加到JSONArray中。也许是这样,
JSONArray list = new JSONArray();
while (resultSet.next()) {
JSONObject obj = new JSONObject(); // Move this here.
// This might be wrong way to make an object for my scenario
obj.put("FirstName", rs.getString(1));
obj.put("LastName", rs.getString(2));
obj.put("Address", rs.getString(3));
obj.put("Email", rs.getString(4));
obj.put("PhoneNumber", rs.getString(5));
list.add(obj); // And this here.
}
谢谢艾略特的建议。知道如何将这个JSONArray发送到我的abc.jsp,然后相应地生成表吗?您可能不应该这样做。将JSONArray返回给客户端,并使用jQuery在浏览器中呈现它。您在这里谈论的是哪个客户端?在我的场景中,客户机是abc.jsp,它正在调用jspConnection.jsp,这个jspConnection.jsp运行select查询,并将数据返回给abc.jsp,以便在abc上显示结果。jsp@akiiddweeber那么为什么要将数据序列化为JSON呢?只需将HTML编写为jspConnection.jsp,以便在abc.jspI上呈现。我正在序列化数据bcoz,我认为这是将对象从一个jsp jspConnection.jsp发送到另一个JSPabc.jsp的唯一方法。简而言之,我需要在abc.jsp页面中生成一个包含所有列及其值的表。。因此,这就是我调用jspConnection.jsp的原因,它可以为我提供JSONObject,我可以使用它反序列化并在表中呈现它。。我不能按原样写,因为我在abc.jsp中还有一个表,而这个新表需要在原始表的下方呈现。。