jsp页面代码:
<head>
<script type="text/javascript">
function exportUser() {
$("#method").val("exportUser");
}
</script>
</head>
<body>
<form action="<c:url value='/UserManageServlet' />" method="post" id="userList_form">
<input type="hidden" name="method" value="" id="method">
<button type="submit" class="editBtn" value="exportUser" onclick="javascript:exportUser();">批量导出</button>
</form>
</body>
servlet中代码:
@WebServlet("/UserManageServlet")
public class UserManageServlet extends BaseServlet{
public String exportUser(HttpServletRequest request, HttpServletResponse response) throws Exception{
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename=test.txt");
ServletOutputStream sos = response.getOutputStream();
sos.write("Life Is a Test. It Is Only a Test");//这里可以从输入流中得到数据然后写到指定文件中
sos.flush();
sos.close();
}
}
<head>
<script type="text/javascript">
function exportUser() {
$("#method").val("exportUser");
}
</script>
</head>
<body>
<form action="<c:url value='/UserManageServlet' />" method="post" id="userList_form">
<input type="hidden" name="method" value="" id="method">
<button type="submit" class="editBtn" value="exportUser" onclick="javascript:exportUser();">批量导出</button>
</form>
</body>
servlet中代码:
@WebServlet("/UserManageServlet")
public class UserManageServlet extends BaseServlet{
public String exportUser(HttpServletRequest request, HttpServletResponse response) throws Exception{
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename=test.txt");
ServletOutputStream sos = response.getOutputStream();
sos.write("Life Is a Test. It Is Only a Test");//这里可以从输入流中得到数据然后写到指定文件中
sos.flush();
sos.close();
}
}
本文展示了如何在jsp页面上点击按钮后弹出保存对话框并触发servlet导出文件。通过在jsp中定义JavaScript函数exportUser()设置隐藏表单字段method的值,然后提交表单到UserManageServlet。在servlet中,响应类型设置为octet-stream,头信息设置附件下载,并输出文件内容。

526

被折叠的 条评论
为什么被折叠?



