jsp 文件下载示例代码
在构建文件下载服务时,我们常常使用 JSP 来简化实现过程。想象一下一个简单的模板下载功能,当服务端已经存在文件时,通过 JSP 文件下载的方式就能轻松实现这一需求。以下是具体的实现方式,供感兴趣的朋友们参考。
在 JSP 页面,我们可以使用 JavaScript 来实现文件的下载功能。例如,在导出角色的功能中,我们可以编写如下代码:
```javascript
// jsp 页面 js 代码如下:
function exportRole() {
var user_id = $('input[name=userListRadio]:checked').attr('id');
if (!user_id || user_id == '') {
showinfo('请选择用户!');
return;
}
var param = {};
param.home_city = $('query_role_region1').bobox('getValue');
param.home_county = $('query_role_region2').bobox('getValue');
param.role_id = $('query_role_id').val();
param.role_name = $('query_role_name').val();
param.user_id = user_id;
param.is_export = "true";
$('maskDiv').mask({ maskMsg:'正在导出...请稍后...' });
window.location.href = 'pri_user_grant_exportRole.jsf?' + $.param(param);
}
```
而在 JSP 下载页面,我们可以使用 Java 来处理文件的读取和发送。以下是相关代码示例:
```jsp
<%@page import="java.io.OutputStream"%>
<%@page import="java.io.PrintWriter"%>
<%@page import="java.io.FileNotFoundException"%>
<%@page import="java.io.File"%>
<%@page import="java.io.FileInputStream"%>
<%@ page contentType="text/html; charset=gb2312"%>
<%
// 打开指定文件的流信息
String fileName = "58918-2-import_template.xls";
String filepath = request.getRealPath("bassdqm/sqlcheck/template/" + fileName);
System.out.println(filepath);
FileInputStream fs = null;
try {
fs = new FileInputStream(new File(filepath));
} catch (FileNotFoundException e) {
e.printStackTrace();
return;
}
// 设置响应头和保存文件名
response.reset();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "inline; filename=\"" + fileName + "\"");
// 写出流信息
int b = 0;
try {
OutputStream ops = response.getOutputStream();
while ((b = fs.read()) != -1) {
ops.write(b);
}
fs.close();
out.clear();
out = pageContext.pushBody();
} catch (Exception e) {
e.printStackTrace();
System.out.println("下载文件失败!");
} %> CambrianJS().render('body'); // 可能存在误解关于这段代码的功能,看起来它像是某种框架的特定函数调用,但由于缺少上下文信息,无法准确解释其作用。如果您需要关于这段代码的帮助,请提供更多的上下文信息或询问相关框架的开发者或社区。
编程语言
- jsp 文件下载示例代码
- laravel框架模型中非静态方法也能静态调用的原理
- PHP图片裁剪函数(保持图像不变形)
- vue2.0使用v-for循环制作多级嵌套菜单栏
- PHP如何使用cURL实现Get和Post请求
- PHP函数eval()介绍和使用示例
- Vue 动态组件components和v-once指令的实现
- 详解ajax +jtemplate实现动态分页
- sqlserver 存储过程带事务 拼接id 返回值
- php对二维数组按指定键值key排序示例代码
- MediaPlayer 在线播放器代码
- 微信小程序使用npm支持踩坑
- javascript数组对象常用api函数小结(连接,插入,删除
- 基于jQuery实现多层次的手风琴效果附源码
- Ajax 框架之SSM整合框架实现ajax校验
- ASP对网页进行保护的简单代码 ip