2

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

以下是我的jsp代码:

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

href应该在 HTML 代码中使用什么?

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

4 回答 4

5

Html在客户端Java(Jsp)播放并在服务器端播放。您需要为此制作一个server request

还有一点

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

完成request上述操作后,尝试server从用户计算机(单击链接)中删除文件。

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

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

于 2013-08-23T05:28:48.117 回答
4

为此,您可以使用 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>

动作.jsp

<%
File f=new File("c:\\Folder\\1.jpg");
if(f.delete())
out.println("Sucessfully deleted file");
else
out.println("Error in deleting file");
%>
于 2013-08-23T06:37:13.140 回答
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"/>

这是你可以实现的

于 2013-08-23T05:29:59.550 回答
0

你不能这样做。

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

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

于 2013-08-23T05:35:05.660 回答