Можно ли напечатать параметр (с jstl), заданный сервлетом, в форме .jsp, доставленной ajax в index.jsp?
Например,
index.jsp
<div class='show'>
<div class='show-content'></div>
</div>
${name}
form.jsp
<form action='servlet'>
${name}
//inputs and a button
</form>
servlet.java
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String s = "Jean";
request.setAttribute("name", s);
this.getServletContext().getRequestDispatcher("index.jsp").forward(request, response);
}
script.js
function openContentFrom(tag, path){
var xhr = new XMLHttpRequest();
xhr.open("POST", path, true);
xhr.onreadystatechange = function(){
if (xhr.readyState === 4){
if (xhr.status === 200){
var txt = xhr.responseText;
var trueTxt = txt.substr(txt.indexOf("<" + tag + ">") + 6, txt.indexOf("</" + tag + ">"));
document.getElementsByClassName("show-content")["0"].innerHTML = trueTxt;
}
else{
console.log("Error : " + xhr.status);
}
}
};
xhr.send(this);
}
openContentFrom("body", "form.jsp");
Итак, скрипт.js будет приводить содержимое form.jsp внутри show-content в index.jsp при вызове с помощью ajax, и если сервлет уже был выполнен, он будет печатать Jean как в form.jsp, так и в index.jsp.
На данный момент, с get и post это невозможно (ну, конечно, он просто печатает Джина на index.jsp), и мне интересно, если это так, потому что я искал и еще не нашел.
Содержание запросав сервлете отправляется обратно в index.jsp я думаю, так что я могу отправить его обратно в form.jsp?
Спасибо!