如何使用ajax调用显示在servlet中定义的arraylist的值

时间:2012-04-03 11:10:16

标签: java ajax

任何人都可以帮我解决下面的代码

的servlet:

servlet下面的

用于静态定义数组。

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;

    public class SampleAjax extends HttpServlet{  

        public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException
        {

        response.setContentType("text/html");
        string plociyno = "abd1234";
        PrintWriter pw = response.getWriter();

        if (policyno.equals("abc1234"))
        {
        List dataList= new ArrayList(); 
        dataList.add("automated refund possible");
        request.setAttribute("data",dataList);            

        RequestDispatcher dispatcher = request.getRequestDispatcher("refund.jsp");  
        if (dispatcher != null){  
            dispatcher.forward(request, response);
        }
        }

        }

和我的JSP: JSP用于在表中显示arraylist的值。我想做同样的事情,但使用Ajax。请帮忙。

<html
    <body><table id= "table" border="0" width="303">
    <tr>

    <td width="250"><b>Your Policy Refund Details is:</b></td>
    </tr>
    <%Iterator itr; %> 

    <% ArrayList refund= (ArrayList)request.getAttribute("data");

    if(refund != null){ 

        for(itr=refund.iterator(); itr.hasNext();){ 
        %>
        <tr>

        <td><%=itr.next()%></td> 

        </tr>
        <%}}%>        

    </table>        

    </body>
    </html>

如何使用ajax显示此arraylist值?请帮忙。

2 个答案:

答案 0 :(得分:1)

好吧,

首先创建一个函数即。一个将显示您的arraylist值的网址。
在你的doGet()

里面
if(request.getParameter("get").equals("array")){
//code to display array elements
}

这里使用ajax用servlet调用你的servlet?get = array

$.ajax({
url: servlet?get=array,
data: data, //if you need any
success: success,
dataType: dataType // The type of data expected from the server xml? json?text?html?pdf? 
});

现在您可以显示AJAX代码中的文本 如果你只想在ajax中使用jsp,那么 这很简单,用你的ajax代码调用整个页面。

$.get(
"http://some-remote-site",
function(data) { alert(data); },
);

我没看到你在这里遇到了什么问题。 ;)

答案 1 :(得分:1)

只需添加

即可
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

然后

<c:forEach var="row" items="${data}" varStatus="i">
<tr>
<td><c:out value="${row[0]}" /></td>
<td><c:out value="${row[1]}" /></td>
...
</tr>
</c:forEach>

通过这种方式,您可以轻松地显示ArrayList数据。