【发布时间】:2014-02-14 13:30:17
【问题描述】:
如果我在表单标签中指定enctype="multipart/form-data",我会在 IE 上遇到“页面已过期”问题。
通过简化,我有 3 个 JSP 页面 page1.jsp、page2.jsp 和 page3.jsp。
page1.jsp(包含带有enctype="multipart/form-data" 的表单)提交给page2.jsp,page2.jsp 提交给page3.jsp。
如果我:
- 提交到 page2.jsp
- 从page2.jsp再次提交到page3.jsp
- 从 page3.jsp 返回到 page2.jsp(使用 history.back() javascript),我得到“页面已过期”。
我阅读了关于缓存控制的信息,但是将这些页面设置为私有或公共缓存控制并不会改变这种情况
// page1.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<html>
<head>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="page2.jsp">
File to upload: <input type=file name=upfile>
<input type=submit value="Go to page2">
</form>
// page2.jsp
<html>
<head>
</head>
<body>
<form method="post" action="page3.jsp">
<input type=submit value="Go to page3">
</form>
</body>
</html>
// page3.jsp
<html>
<head>
</head>
<body>
<form method="post" action="end.jsp">
<input type="button" value="Go to page 2" onclick="javascript:history.back();">
<input type=submit value="Go to end">
</form>
</body>
</html>
【问题讨论】:
标签: internet-explorer jsp file-upload back-button multipartform-data