使用ajax和一个param获取一个form.jsp

时间:2018-10-05 16:32:37

标签: java ajax jsp

是否可以在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吗?

谢谢!

1 个答案:

答案 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);
}