【发布时间】:2013-12-06 22:52:40
【问题描述】:
如何使用 Ajax 将 ArrayList 从 Acton 返回到 JSP。我能够从数据库中获取值并迭代并将其存储在 ArrayList 中。但我不确定如何从 Action 返回列表并在 JSP 代码中迭代相同的列表。 请找到以下代码
动作类:
public ActionForward fetchValues(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
try
{
PrintWriter out=response.getWriter();
List coordinateList=new ArrayList();
Connection con;
String link=request.getParameter("test");
con = DriverManager .getConnection("jdbc:postgresql://localhost:----/testDatabase", "test","test1");
String sql="select placeNames from line_route where gid='"+test+"'";
Statement stmt=con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next())
{
String str = rs.getString(1);
str = str.replaceAll("\\(", "");
String[] a = str.split(",");
for (String b : a)
{
System.out.println("-" + b + "-");
coordinateList.add(b);
}
}
out.println(coordinateList);
return null;
}
catch (Exception e)
{
System.out.println("Exception!");
e.printStackTrace();
}
return null;
}
JSP 代码:
function fetchValues()
{
var id=document.getElementById('linkNo').value;
initRequest();
req.open("POST", "./sendLinks.do?actionMethod=fetchValues&link="+id, true);
req.send(null);
}
var req;
function initRequest()
{
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
isIE = true;
req = new ActiveXObject("Microsoft.XMLHTTP");
}
}
请大家指导我如何在 JSP 中获取列表并在 javascript 代码中迭代。提前致谢。
【问题讨论】:
-
Arraylist 是类,您尝试获取一个对象作为 ajax 的响应。无法将对象检索为 ajax 响应。您可以通过将其放入会话中或使用 Gson 来获取页面中的数组列表。
标签: java javascript ajax arraylist