gpt4 book ai didi

javascript - 是否可以从 javascript 函数的 post 调用中执行 request.getRequestDispatcher?

转载 作者:行者123 更新时间:2023-12-02 12:24:20 25 4
gpt4 key购买 nike

我通过“post”调用java Controller ,然后发送一个表单,处理它并发送回响应,其中包含请求中的一些属性,我希望使用javascript可以处理它们。这可能吗?

我的 Controller :

  /**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter())
{
Respuesta r;
request.setAttribute("MensajeRespuesta", "");
request.setAttribute("StatusRespuesta", "");
ServletInputStream aaaa = request.getInputStream();

if (request.getParameter("btnGuardarDiio") != null && !"".equals(request.getParameter("btnGuardarDiio")))
{
//Code...
request.setAttribute("MensajeRespuesta", r.getMensaje());
request.setAttribute("StatusRespuesta", r.isStatus());
request.setAttribute("StatusGuardado", true);
request.getRequestDispatcher("/pages/maestros/crudAnimal.jsp").forward(request, response);

}
.
.
.

我的 JSP 脚本:

 <script>
$('#myFormSubmit').click(function(e){
$.post('crudAnimal?btnGuardarDiio=eliminar', $('#formGuardarDIIO').serialize(),
function(responseText,respuesta){
if(respuesta = "success"){
// What do I have to do so that the "response" of the controller redirects to the page and can receive the attributes?
}

});

});
</script>

谢谢!

最佳答案

在 javascript 客户端上,您将根本无法访问服务器端设置的任何请求/响应属性。它属于服务器,不属于任何 http 响应负载。

但是,您的帖子似乎表明您正在 jsp 页面上编写 JavaScript 代码。如果每个请求都重新生成该 jsp 输出,那么您就可以使用它。通过jsp上的java代码(即服务器端处理)访问请求属性,以便生成的js代码发送回客户端,包含您想要的内容。

here您有一些关于 jsps 如何工作的基本文档。如果您想了解其工作原理,我建议您阅读该文章。

关于javascript - 是否可以从 javascript 函数的 post 调用中执行 request.getRequestDispatcher?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45556178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com