Как обработать ответ сервлета в JSP через вызов AJAX? - PullRequest
1 голос
/ 08 июня 2011

Я хочу отобразить ответ сервлета на моей странице JSP (в виде гиперссылки) через вызов ajax.Может кто-нибудь сказать мне, как я мог бы отображать содержимое на моей странице JSP?Я также не слишком уверен, правильно ли я это делаю.Могут быть некоторые ошибки либо в моем классе сервлетов, либо в Ajax.js.Я все еще на этапе обучения.Вот мой фрагмент кода:

Страница JSP

<script type="text/javascript"> var AJAX_SERVLET="<%=renderResponse.encodeURL(renderRequest.getContextPath())%>/ajaxServlet"; </script> <label for="push">Push to start</label> <button dojoType="dijit.form.Button" style="width: 4em" type="button" name="submitButton" value="Submit" onclick="ajaxFunction()"></button>

Ajax.js

function ajaxFunction() {
    if (xmlhttp) {
    xmlhttp.open("GET", AJAX_SERVLET, true); //AJAX_SERVLET has the servlet path
    xmlhttp.onreadystatechange = handleServerResponse;
    xmlhttp.setRequestHeader('Content-Type',
            'application/x-www-form-urlencoded');
    xmlhttp.send(null);
}

}

function handleServerResponse() { if (xmlhttp.readyState == 4) { //alert(xmlhttp.status); if (xmlhttp.status == 200) { var resultContent =httpRequest.getResponseHeader("Content-Type");<br> } else { alert("Error during AJAX call. Please try again"); } }

Сборщики / Установщики

public class SearchResponse {

private String productNumber;
private String productType;
private String funcDesignation;}

Класс сервлетов

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {
    List result = new ArrayList();
    result.add(new SearchResponse("001", "User Manual", "Operator"));
    response.setContentType("application/json");         
    response.setCharacterEncoding("UTF-8");        
    response.getWriter().write(new Gson().toJson(result));
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {
    doPost(request, response);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...