是否可以打印由 ajax 在索引中带来的 Servlet 给出的参数(带有 jstl.jsp.jsp ?
例如
索引.jsp
<div class='show'>
<div class='show-content'></div>
</div>
${name}
形式.jsp
<form action='servlet'>
${name}
//inputs and a button
</form>
奴仆.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);
}
脚本.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 将使用 ajax 调用时将 form 的内容.jsp show 内容带到索引中的 show-content 中.jsp如果 servlet 已经被执行,它将以 form.jsp 和 index.jsp 的形式打印 Jean。
目前,使用 get 和 post 是不可能的(当然.jsp它只是在索引上打印 Jean(,我想知道它是否是,因为我搜索过但还没有找到。
我想 servlet 中的请求内容被回发回索引.jsp那么我可以将其发送回表单吗.jsp
?谢谢!
你不需要返回表单
在您的 servlet 上删除这 2 行
request.setAttribute("name", s);
this.getServletContext().getRequestDispatcher("index.jsp").forward(request, response);
并添加
response.getWriter().write(s);
在你的阿贾克斯
xhr.onreadystatechange = function(s){
alert(s);
}