Я хочу отобразить ответ сервлета на моей странице 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);
}