我有这种情况:
我需要将附件上传到服务器。我有一个jsp page
和一个servlet
处理我的请求。在我上传文件之前,我需要检查重复的文件名,这样我就不会在不通知用户的情况下替换文件。因此,在我的 servlet 中,我正在做适当的检查并将 a 设置request attribute
为 true,这样当我forward the request to the jsp page
看到属性设置为 true 时,我会向用户显示一个对话框(使用 jquery),以便用户选择哪个操作采取(保留两者、覆盖、取消)。
我唯一担心的是,当刷新页面时,即same request is submitted
,在属性设置为 true 之后,attribute remains true
因此在刷新时,我正在加载我的对话框。当然,我不希望这种情况发生。
有什么可以帮助我解决这个问题吗?这是我的代码。
UploadFile.java - 我的 Servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException
{
request.setAttribute("duplicate", null);
if (!isDuplicate(file)){
// .. handle uploading
}
else
{
// if duplicate
request.setAttribute("duplicate", "true");
ServletContext context = getServletContext();
RequestDispatcher dispatcher = context.getRequestDispatcher("/ticketsform.jsp");
dispatcher.forward(request, response);
}
response.sendRedirect("ticketform.jsp");
}
票证.jsp
<%
String isDuplicate = (String)request.getAttribute("duplicate");
if (isDuplicate != null)
{ %>
<script type="text/javascript">
duplicateFilesOption(); // call js function to display dialog
</script>
<% } %>
提前感谢您的帮助:)