是否可以在index.jsp中由ajax带来的form.jsp中打印servlet给定的参数(使用jstl)?
例如
index.jsp
SELECT ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA='{$wpdb->dbname}' AND TABLE_NAME='{$wpdb->users}';
form.jsp
<div class='show'>
<div class='show-content'></div>
</div>
${name}
servlet.java
<form action='servlet'>
${name}
//inputs and a button
</form>
script.js
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将在用ajax调用时将form.jsp的内容带入index.jsp中的show-content内,并且如果该servlet已经执行,它将在form.jsp和index中同时打印Jean .jsp。
就目前而言,使用get和post是不可能的(当然,它只是在index.jsp上打印了Jean),我想知道是否可以,因为我已经搜索并且还没有找到。
我猜servlet中的请求内容会发回到index.jsp,所以我可以将其发送回form.jsp吗?
谢谢!
答案 0 :(得分:0)
您不需要返回表格
在您的servlet上删除这两行
request.setAttribute("name", s);
this.getServletContext().getRequestDispatcher("index.jsp").forward(request, response);
并添加
response.getWriter().write(s);
在您的ajax上
xhr.onreadystatechange = function(s){
alert(s);
}