当前位置: 首页 > 编程日记 > 正文

在jsp中点击按钮,在bean中把已经查出的数据,生成csv文件,然后在ie中自动打开

Quote:

这个问题可以分两部分讨论:

1、csv文件的格式
2、通过jsp向客户端输出csv文件

第一个问题我们就按简单的来讨论,可以认为是每个字段用""包含后再用,号分割
比如:
"a","b","c"
"d","e","f"

现在我们有了csv文件的内容,我们看看怎么把它输出到客户端

一种变通的方法是把csv的内容写到一个临时文件中,然后让客户端下载这个临时文件。

不过最简单的方法是直接向客户端输出:以下是csv.jsp的内容
"a","b","c"
"d","e","f"

就这么简单,这些信息就输出到客户端了。

不过现在的情况估计是不会满足楼主需要的,因为浏览器自己处理了这些信息,而不是交给excel来处理。
为了让浏览器把处理权让处理,我们需要在jsp的头部加上一些信息,告诉浏览器这些信息不用你来操心,交给其他合适的程序(对应csv来说当然是excel咯)来处理就好了。
先告诉它“以下信息是m$的,不是html的”:
<%@ page language="java" contentType="application/ms-excel"%>
再告诉它文件名是test.csv
<%response.setHeader("Content-Disposition","filename=test.xls");%>
最后是文件的内容:
"a","b","c"
"d","e","f"

全文就是这个样子
<%@ page language="java" contentType="application/ms-excel"%>
<%response.setHeader("Content-Disposition","filename=test.xls");%>
"a","b","c"
"d","e","f"

楼主把abcd什么的换成你从javaBean中查到的东西就可以了。

再访问这个网页,ie的话会提示你打开或者保存,应该是楼主想要的结果了吧。

以下是结合jstl实现的代码:
test.jsp文件
Code:

<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%
response.resetBuffer();
response.setContentType("application/unknow");
response.setHeader("Content-disposition",
"attachment; filename=test.csv");
%><c:forEach items="$" var="record">$,$</c:forEach>

Collection是一个request.

转载于:https://www.cnblogs.com/dkblog/archive/2006/11/17/1980924.html

相关文章:

分析与设计(AD)简介(2)

这一节主要介绍OOAD分析与设计中涉及的几个重要概念&#xff0c;包括&#xff1a;分析、设计、体系结构、41视图、Use Case实现等。

1.3 Quick Start中 Step 7: Use Kafka Connect to import/export data官网剖析(博主推荐)

不多说&#xff0c;直接上干货&#xff01; 一切来源于官网 http://kafka.apache.org/documentation/ Step 7: Use Kafka Connect to import/export data Step 7: 使用 Kafka Connect 来 导入/导出 数据 Writing data from the console and writing it back to the console is …

ELMo:最好用的词向量(Deep contextualized word representations)论文 pdf

下载地址&#xff1a;https://u20150046.ctfile.com/fs/20150046-376633397 作者&#xff1a;Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettlemoyer 论文摘要 我们提出一种新的深层语境化的词表示形式&#xff0c…

刚进园子,广州的冬天像夏天

来博客园已经有一段日子了&#xff0c;就好像认识朋友一样&#xff0c;从陌生到熟悉&#xff0c;虽然阅读过的博客文章还不多&#xff0c;但心里还是由然起敬。网络是个信息交流的工具&#xff0c;工具没有好坏之分&#xff0c;都得看用工具的人抱着什么态度。有益处的内容自然…

ava.lang.UnsatisfiedLinkError:

为什么80%的码农都做不了架构师&#xff1f;>>> dalvik.system.PathClassLoader[DexPathList[[zipfile"/data/app/ngdom.android.newphone-1/base.apk"], nativeLibraryDirectories[/data/app/gdom.android.newphone-1/lib/arm, /data/app/gdom.android.n…

分析与设计(AD)简介(3)

这一节主要介绍进行OOAD分析与设计所利用的工具&#xff1a;Visual Studio UML。

序列建模:时间卷积网络取代RNN(An Empirical Evaluation of Generic Convolutional and Recurrent)论文 pdf

下载地址&#xff1a;https://u20150046.ctfile.com/fs/20150046-376633283 作者&#xff1a;Shaojie Bai, J. Zico Kolter, Vladlen Koltun 论文摘要 对于大多数深度学习实践者来说&#xff0c;序列建模与循环网络是同义词。然而&#xff0c;最近的研究结果表明&#xff0c…

Web service到底是什么?

Web service到底是什么&#xff1b;在什么情况下你应该使用Web service。 分布式应用程序和浏览器 研究一下当前的应用程序开发&#xff0c;你会发现一个绝对的倾向&#xff1a;人们开始偏爱基于浏览器的瘦客户应用程序。这当然不是因为瘦客户能够提供更好的用户界面&#xff0…

15级团队学习成果汇报 -- 利用C#语言实现计算器

前几天与15级新加入团队的同学聊天&#xff0c;周日时蓝贵才代表本级汇报了这段时间所学的成果——计算器实例。 我一直对他们说&#xff1a;“要尽快的掌握一些C#语言的基本概念&#xff0c;培养对Coding的感知&#xff0c;后面就可以‘用以致学’&#xff0c;通过‘用’来发…

houdini + maya的pulldownit

houdini maya的pulldownit 制作破碎、3Dtextures等http://www.linecg.com/video/play_27502_28121.html转载于:https://www.cnblogs.com/cainiao001/p/6768831.html

探索机器学习的公平性(Delayed Impact of Fair Machine Learning)论文 pdf

下载地址&#xff1a;https://u20150046.ctfile.com/fs/20150046-376633160 By Lydia T. Liu, Sarah Dean, Esther Rolf, Max Simchowitz, Moritz Hardt (2018) 论文摘要 机器学习中的公平性主要是在静态的分类设置进行研究&#xff0c;而不考虑决策如何随时间改变基础样本总…

数据结构与算法--绪论

本图文涉及的概念&#xff1a; 数据结构&#xff08;Data Structure&#xff09;、数据&#xff08;Data&#xff09;、数据元素&#xff08;Data Element&#xff09;、数据项&#xff08;Data Item&#xff09;、数据逻辑结构&#xff08;Logical Structure&#xff09;、数…

Remove Duplicates from Sorted Array II -- LeetCode

原题链接: http://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/这道题跟Remove Duplicates from Sorted Array比較类似&#xff0c;差别仅仅是这里元素能够反复出现至多两次&#xff0c;而不是一次。事实上也比較简单。仅仅须要维护一个counter。当count…

白领们注意啦:“过劳死”27个危险信号!

要想防止“过劳死”&#xff0c;就必须了解身体为我们发出的“过劳死”信号。日本公众卫生研究所的科研人员曾对日本“过劳死”高发现象做过详细研究&#xff0c;从预防角度&#xff0c;他们列举了27种过劳症状和因素。办公室白领饮食的十大夺命恶习 研究者认为&#xff1a;在…

用于高保真自然图像合成的大规模GAN训练(Large Scale GAN Training For High Fidelity Natural Images)论文 pdf

下载地址&#xff1a;https://u20150046.ctfile.com/fs/20150046-376632643 By Andrew Brock&#xff0c;Jeff Donahue&#xff0c;Karen Simonyan&#xff08;2018&#xff09; 论文摘要 尽管生成图像建模最近取得了进展&#xff0c;但从ImageNet等复杂数据集成功生成高分辨…

建立企业级产品测试报告体系(概述)

基本上每个制造企业都有自己定制得测试报告.这种报告通常是提供给客户作为数据参考,甚至会导入数据库进行调测使用.所以,建立统一的测试报告中心进行数据和报告的管理是有必要的.1.1测试报告体系的愿景 建立统一方便管理, 易于配置式开发的测试报告中心,为客户(包括内部)提供所…

企业IT架构转型是大势所趋

2017年4月26日&#xff0c;南京&#xff0c;我们又来了。 这一次&#xff0c;我们还是一如既往的火爆。但是&#xff0c;这一次我们有点不一样&#xff0c;带来了非常多新鲜的话题。一起来看看有哪些不一样吧。 在“企业级互联网架构-南京峰会”专场&#xff0c;阿里中间件高级…

C#语言与面向对象技术(1)

这段时间有些同学问我&#xff0c;怎么快速的掌握一门计算机语言。 其实&#xff0c;答案很简单&#xff0c;想想自己怎么学习母语的&#xff0c;就是不停的用呗。 对&#xff01;就是不停的用&#xff0c;而且计算机语言更简单&#xff0c;我们的母语还会出现歧义的现象&…

IEEE 解除对华为的限制!

6 月 3 日&#xff0c;IEEE 中文站发布最新中英文双语声明&#xff0c;解除对华为员工参与编辑和审稿的限制。 IEEE 在声明中称&#xff0c;「目前 IEEE已收到相关说明。根据新的信息&#xff0c;华为及其子公司的员工可以参加 IEEE 出版过程的同行评审和编辑工作」。 IEEE 还强…

phpcms V9判断奇数偶数的实例

{pc:content action"lists" catid"$catid" order"id DESC" num"20"} {loop $data $r} {$n}.{if $n%20}偶数{else}奇数{/if} <br> {/loop} {/pc}示例:{loop $data $r} <li {if $n%20}class"cc"{/if}>{$r[title…

Windows Vista和XP系统功能大比拼

Windows Vista正式发布之后相信很多喜欢尝鲜的朋友已经体验到了微软新一代操作系统的魅力&#xff0c;在体验的同时免不了就会和使用已久的Windows XP系统做些比较&#xff0c;Vista的味道究竟如何?让我们一起来看看Alex Zaharov-Reutt对Windows Vista和Windows XP在功能方面的…

前后端分离的探索(二)

文桥&#xff0c;13级机械系学生。在LSGO软件技术团队负责前端部分&#xff0c;本图文是介绍目前流行的前后端分离技术的第二篇&#xff0c;希望大家能够对这块有所了解。 怎样才能掌握一项技能呢&#xff0c;即使你非本专业出身。老生常谈&#xff0c;就是对这项技术感兴趣&a…

【亲测有效】如何在win10上激活Burp Suite,如何注册激活Burp Suite,破解Burp Suite的详细步骤

Burp Suite是一款很实用的安全漏扫测试工具&#xff0c;是安全从业者的必备武器之一。它集成了很多使用的渗透测试工具。不仅支持自动扫描还支持手动漏扫。 本文介绍一下该工具的具体破解和激活步骤。因为网上好多文章只是简单讲了一下如何下载和非常简单的安装破解步骤&#…

.NET中获取电脑名、IP及用户名方法

.NET中获取电脑名、IP及用户名方法 在.NET中获取一台电脑名&#xff0c;IP地址及当前用户名是非常简单&#xff0c;以下是我常用的几种方法,如果大家还有其他好的方法&#xff0c;可以回复一起整理&#xff1a;1. 在ASP.NET中专用属性&#xff1a;获取服务器电脑名&#xff1a;…

C#是否该支持“try/catch/else”语法

以前用过一段时间Python&#xff0c;里面有个try/catch/else语法&#xff0c;我觉得挺好用&#xff0c;这个语法形如下&#xff1a; try:print(try...)r 10 / int(2)print(result:, r) except ValueError as e:print(ValueError:, e) except ZeroDivisionError as e:print(Zer…

C#语言与面向对象技术(2)

本图文中涉及的概念&#xff1a;类、对象、封装、继承和实例化。 重点在于对继承的理解&#xff0c;当子类被实例化时&#xff0c;暗示着其父类亦同步实例化为于内部隐藏的base对象。 核心在于子类与父类若有重名方法而带来的问题以及引出的一系列概念。

【亲测有效】如何下载和安装Resilio BTSync

【简介】 Resilio BTSync是一款基于P2P技术的快速、简单的文件传输和共享工具&#xff0c;可以让你很快的在不同设备之间实现文件同步。 既然是“文件同步工具”&#xff0c;那么最基本的“增量同步”功能&#xff0c;当然是必不可少的。同步完成之后&#xff0c;如果在“…

C#.NET 上传图片时怎样限制文件格式

在上传文件时&#xff0c;限制上传的文件为JPG,GIF格式,怎么处理&#xff1f;源代码&#xff1a;HttpPostedFile hpf UploadFile.PostedFile;try{UploadFile.Accept "images/*";UpfileName.Text hpf.FileName;FileSize.Text hpf.ContentLength.ToString();//取得文…

前后端分离的探索(三)

文桥&#xff0c;13级机械系学生。在LSGO软件技术团队负责前端部分&#xff0c;本图文是介绍目前流行的前后端分离技术的第三篇&#xff0c;希望大家能够对这块有所了解。 当我们培养了对一门技术的认知&#xff0c;并通过一系列项目对这门技术进行了打磨&#xff0c;接下来我…

ansible批量修改linux服务器密码的playbook

从网上找到批量修改Linux服务器root密码的playbook。 使用方法&#xff1a; 1、输入要修改的inventory组 2、按需要&#xff0c;在playbook中输入要修改的IP、新密码&#xff0c;如下&#xff1a; - hosts: productionremote_user: roottasks:- name: change password for root…