【问题标题】:JSP form going as empty randomly after submitting with post requestJSP表单在提交post请求后随机变为空
【发布时间】:2023-04-06 18:54:02
【问题描述】:

JSP 表单在提交 post 请求后随机变为空。我在 openshift 容器中使用带有嵌入式 tomcat 的 springboott。我在 2016 年看到过类似的请求,但没有回复。非常感谢任何帮助。

JSP:

<textarea id="dataArea" cols="111" rows="28" name="data" Class="prj" onkeydown="limitCounter(this, countdown);" onkeyup="limitText(this, countdown);" onchange="limitText(this, countdown);" onclick="trueCount(this, countdown);">${frm.data}</textarea> 
<a href="#" accesskey="S" onfocus="javascript:saveData()" tabindex="-1"></a> 
<img src="/prj/web/images/data_button.gif" border="0" style="cursor:hand" title="ALT + S" onclick="javascript:saveData()">

Javascript:

function saveComments()
    { document.forms[0].action='<%=contextPath%>/saveData'; 
    document.forms[0].submit(); self.close(); 
    } 

控制器:

@RequestMapping(value = "/saveData", method ={RequestMethod.POST}) 
public ModelAndView saveData(ModelMap modelMap, @ModelAttribute("frm") dataForm frm, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response) 
throws Exception { }

我们同时拥有这两个 RequestMethod.GET 和 RequestMethod.POST 并从控制器中删除了 GET,但它不起作用。

此代码在 50 到 60 次出现时运行良好,但下一个失败且表单为空。我们启用了记录器,它显示了空表单。立即采取的下一步行动工作正常。注意:此操作是从弹出屏幕执行的。如果您需要更多详细信息,请告诉我

【问题讨论】:

  • 你能写出你到目前为止所做的事情,解释更多并提供更多细节吗?否则没有人能帮助你
  • 谢谢卡洛...我是新来的堆栈溢出。
  • 而不是写在评论中编辑你的帖子,介绍代码,使用不同的括号来编写代码,这样它会更好地格式化和理解;)添加偶数标签,例如JSP,POST,REST API等...它将有助于研究
  • 我使用您的评论进行了编辑,但可能需要修复一下
  • 谢谢卡洛。

标签: java rest api jsp post


【解决方案1】:

问题终于解决了。
问题在于提交操作之后的 self.close()。
根本原因是浏览器,它在提交操作之前触发了 self.close() 。我们已经从那里删除了 self.close() 并在收到控制器的响应后关闭它。这解决了这个问题。感谢以下帖子,它帮助我们确定了根本原因。

Submit a form in a popup, and then close the popup

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-29
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 2019-08-26
    相关资源
    最近更新 更多