Servlet将结果返回到自定义HTML页面

时间:2012-08-19 16:41:43

标签: java html ajax servlets

我已经将数据从我的HTML页面发送到servlet,这是代码

 <form name="search" id="search_bar" action="PathServlet" method="get">
        <table border="5" cellspacing="5" cellpadding="0"><tr>
        <td>
            <input Style="width:300px;"  name="one" type="text"  value="Enter Your Search Here" onFocus="clearText(this)" onBlur="clearText(this)">  <br/>
            <input Style="width:300px;"  name="two" type="text"  value="Enter Your Search Here" onFocus="clearText(this)" onBlur="clearText(this)">  <br/>


            <input type="submit" value="search"/></td></tr>
        </table>    
    </form>

在servlet中,我创建了一个XML列表

        response.setContentType("text/xml;charset=UTF-8");
    PrintWriter out = response.getWriter();
    out.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
    out.append("<response>");
    try {
        for (int j = 0; j < path.size(); j++) {

            List<Pipes> tempDeal = PipesDAO.getInstance().findPath(
                    path.get(j).name, path.get(j).name);
            for (int i = 0; i < tempDeal.size(); i++) {
                result += "<deal>" + "<name>" + tempDeal.get(i).getName()
                        + "</name>" + "<lat>" + tempDeal.get(i).getLat()
                        + "</lat>" + "<lon>" + tempDeal.get(i).getLon()
                        + "</lon>" + "<desc>" + tempDeal.get(i).getId()
                        + "</desc>" + "</deal>";
            }
        }
        out.append(result);
        out.append("</response>");
    } finally {
        out.close();
    }

所以现在我想将响应数据返回到使用Ajax的自定义HTML页面。

         $.ajax({

但我不明白如何检索Ajax中的数据。

任何想法?

1 个答案:

答案 0 :(得分:1)

使用jQuery使用ajax发布数据。请查看此链接以获取分步说明: http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/

示例代码段

$(document).ready(function() {
    $('#form').submit(function() {
        var searchtext = $('#search').val();
        $.ajax({
            type:       "post",
            url:        "/PathToServlet",
            data:       "q=" + searchtext ,
            success:    function(data) {
              alert('Data Recieved : ' + data);
            }
        });

    return false;
    });
});