jsp:点击html链接时删除文件

时间:2013-08-23 05:26:20

标签: java jsp servlets

我想在点击jsp页面中的HTML链接后删除文件。

以下是我的jsp代码:

<%
File f=new File("c:\\Folder\\1.jpg");
f.delete();
%>

我应该在HTML代码中使用哪些href

<a href......>Delete me </a>

4 个答案:

答案 0 :(得分:5)

Html在客户端播放,Java(Jsp)在服务器端播放。您需要为此设置server request

还有一点

File f=new File("c:\\Folder\\1.jpg");

完成request后,上述行尝试从server中删除文件,而不是从用户计算机(点击该链接)中删除。

您可能会误解同一文档中存在jsphtml。是的,但是JSP部分在服务器端本身编译,JSP输出解析为html并发送到client

注意:由于安全原因,Html和Javascript无法访问计算机上的文件。

答案 1 :(得分:3)

为此,您可以使用j查询删除而不刷新  这是代码让我们试试

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
$(document).ready(function(e) {
   $( "#deletefilesAnchor" ).click(function(e) {
        e.preventDefault();
        if (confirm('Are you sure you want to Delete Files?')) {
        // Save it!
             $.ajax({
                type: "POST",
                url: "action.jsp",
                success: function(msg){
                    alert(msg)
                },
             });
        } else {
        // Do nothing!
        }
   }); 
});

</script>
</head>
<body>
<a id="deletefilesAnchor" href="#">Delete files</a>
</body>
</html>

action.jsp

<%
File f=new File("c:\\Folder\\1.jpg");
if(f.delete())
out.println("Sucessfully deleted file");
else
out.println("Error in deleting file");
%>

答案 2 :(得分:1)

if(request.getParameter("btnSubmit")!=null) //btnSubmit is the name of your button, not id of that button.
{
File f=new File("c:\\Folder\\1.jpg");
f.delete();
}

<input type="submit" id="btnSubmit" name="btnSubmit" value="delete"/>

这个你可以实现

答案 3 :(得分:0)

你不能这样做。

servlet / jsp在服务器端运行,但html链接在客户端(浏览器)上运行。如果您看到页面的源代码(在浏览器页面上单击鼠标右键),则可以看到jsp代码不存在。

如果你想这样做,你应该链接到另一个页面(比如b.jsp),然后在jsp中,使用上面的代码删除文件。