如何在页面重新加载时在 JSP 页面中保留类型文件的输入

how to retain an input of type file in an JSP page on page reload

How can I retain HTML form field values in JSP after submitting form to Servlet?

我试图在 jsp 中保留一个 csv 文件,但它看起来不可能。我还尝试将 csv 文件传递​​回 jsp 并将其作为表单的一部分发送回控制器但无法执行。所以请建议一种方法来保留 csv 文件或将其重定向回 jsp 并能够在第二次页面重新加载时使用

我做了一些研究,得出的结论是无法保留 csv 文件类型的输入字段。如有错误请指正

回答:据我所知,这个 回答中的建议是不可能的一旦提交表单,整个页面将被服务器的响应替换,以便保留 csv 文件值我认为我们只能使用 jQuery.post 或 jQuery.ajax 发送表单数据而不是实际提交表单

如果您想保留从 jsp 传递的任何内容并在后端使用它,您可以做一件事。一旦传递给控制器​​,我们就可以读取 csv 文件的数据并使用 .setAttribute("object name", object) 在会话中设置该对象。可以使用以下代码行获取会话对象并设置对象

HttpSession session = request.getSession(); 
session.removeAttribute("<object name>");
session.setAttribute("<object name>", object);

并在控件第二次从 jsp 移动到控制器时使用此对象,方法是使用 getAttribute()

<className> <objectName> = session.getAttribute("<object name>");

并根据需要使用它。