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



向Servlet提交表单后,如何在JSP中保留HTML表单字段值?

我试图在jsp中保留一个csv文件,但看起来不可能。我还试图将csv文件传递回jsp,并将其作为表单的一部分发送回控制器,但无法做到这一点。因此,请建议一种方法来保留csv文件或将其重定向回jsp,以便在页面重新加载时使用

我做了一些研究,得出的结论是,不可能保留csv文件类型的输入字段。如果我错了,请纠正我

答:据我所知,这是不可能的https://stackoverflow.com/questions/2598904/how-do-i-keep-form-data-after-submitting-the-form-using-javascript#:~:text=若要%20保留%20值%2C%20,请将%20参数%20请求到%20字段中&text=您%20可以%20使用%20 cookie%20来自,您%20访问%20某物%20调用%20文档。答案一旦表单提交,整个页面就会被服务器的响应所取代,因此为了保留csv文件值,我认为我们只能使用jQuery.post或jQuery.ajax来发送表单数据,而不是实际提交表单

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

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

并在控件第二次从jsp移动到控制器时使用getAttribute((来使用此对象

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

并根据需要使用它。

最新更新