在JSP页面上写代码直接生成一个.txt文件
展开全部
在jsp页面上使用java对象直接生成txt文件跟直接使用java生成文件是一样的。其实可以考虑用另外的方式完成这个事情,JS同样也可以直接生成文件,利用active插件可以完成你的要求。下面一段代码用做参考,已经测试,可以直接使用,不过由于安全性,很多浏览器都对active做了限制,所以在打开页面前,要确保以下限制打开:
* 1、设置可信任站点(例如本地的可以为:http://localhost)
* 2、其次:可信任站点安全级别自定义设置中:设置下面的选项
* "对没有标记为安全的ActiveX控件进行初始化和脚本运行"----"启用"
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'CreateTxt.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script type="text/javascript">
function browseFolder(path) {
try {
var Message = "\u8bf7\u9009\u62e9\u6587\u4ef6\u5939"; //选择框提示信息
var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //起始目录为:我的电脑
//var Folder = Shell.BrowseForFolder(0,Message,0); //起始目录为:桌面
if (Folder != null) {
Folder = Folder.items(); // 返回 FolderItems 对象
Folder = Folder.item(); // 返回 Folderitem 对象
Folder = Folder.Path; // 返回路径
if (Folder.charAt(Folder.length - 1) != "") {
Folder = Folder + "";
}
document.getElementById(path).value = Folder;
return Folder;
}
}
catch (e) {
alert(e.message);
}
}
function save(){
var path=document.getElementById("path").value;
var fileName=document.getElementById("fileName").value;
var content=document.getElementById("content").value;
if(path==null ||path==undefined){
alert("请选择文件保存路径");
return;
}
var filePath=path+"\\"+fileName+".txt";
alert(filePath);
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fi=fso.CreateTextFile(filePath,true);
fi.Write(content);
fi.close();
}
</script>
<body>
<div>
<p>
<label>文件名</label>
<input type="text" id="fileName" class="fileName" value="文件">
</p>
<p>
<label>内容</label>
<textarea rows="10" cols="20" id="content" name="content">编辑此处</textarea>
</p>
<p>
<input type="text" name="path" id="path"/>
<input type="button" onclick="browseFolder('path')" value="选择存放路径">
</p>
<p>
<button id="save" onclick="save()">保存</button>
</p>
</div>
</body>
</html>
* 1、设置可信任站点(例如本地的可以为:http://localhost)
* 2、其次:可信任站点安全级别自定义设置中:设置下面的选项
* "对没有标记为安全的ActiveX控件进行初始化和脚本运行"----"启用"
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'CreateTxt.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script type="text/javascript">
function browseFolder(path) {
try {
var Message = "\u8bf7\u9009\u62e9\u6587\u4ef6\u5939"; //选择框提示信息
var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //起始目录为:我的电脑
//var Folder = Shell.BrowseForFolder(0,Message,0); //起始目录为:桌面
if (Folder != null) {
Folder = Folder.items(); // 返回 FolderItems 对象
Folder = Folder.item(); // 返回 Folderitem 对象
Folder = Folder.Path; // 返回路径
if (Folder.charAt(Folder.length - 1) != "") {
Folder = Folder + "";
}
document.getElementById(path).value = Folder;
return Folder;
}
}
catch (e) {
alert(e.message);
}
}
function save(){
var path=document.getElementById("path").value;
var fileName=document.getElementById("fileName").value;
var content=document.getElementById("content").value;
if(path==null ||path==undefined){
alert("请选择文件保存路径");
return;
}
var filePath=path+"\\"+fileName+".txt";
alert(filePath);
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fi=fso.CreateTextFile(filePath,true);
fi.Write(content);
fi.close();
}
</script>
<body>
<div>
<p>
<label>文件名</label>
<input type="text" id="fileName" class="fileName" value="文件">
</p>
<p>
<label>内容</label>
<textarea rows="10" cols="20" id="content" name="content">编辑此处</textarea>
</p>
<p>
<input type="text" name="path" id="path"/>
<input type="button" onclick="browseFolder('path')" value="选择存放路径">
</p>
<p>
<button id="save" onclick="save()">保存</button>
</p>
</div>
</body>
</html>
追问
用JAVA方式的时候,好像用相对路径保存是不行的?为什么呢?
追答
给你一个参考文章,对于这个解释得很好!
http://hi.baidu.com/mefeng47/item/bc8e59737b698a16d1dcb339
2015-12-20 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
jsp生成txt的方法是通过写java的scriptlet来实现的。
在jsp中写入如下代码:
<%
boolean flag=false;
String fileName = "1.txt";
try{
if(!fileName.exists()){
fileName.createNewFile(); //如果不存在就创建1.txt
}
}catch(Exception e){
e.printStackTrace();
}
%>
在jsp中写入如下代码:
<%
boolean flag=false;
String fileName = "1.txt";
try{
if(!fileName.exists()){
fileName.createNewFile(); //如果不存在就创建1.txt
}
}catch(Exception e){
e.printStackTrace();
}
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你一段代码参考下,可以直接用的,我已经测试过了
<%@ page contentType="text/html; charset=GB2312"%>
<%@ page language="java" %>
<%@ page import="java.io.*" %>
<HTML><HEAD><TITLE>读写文件</TITLE></HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>将数据写入文件</FONT>
</CENTER>
<%
String path = request.getRealPath("."); //取得目录在服务器端的实际位置
//out.println(path+"<br>");
File result =new File("result.txt");
FileWriter fw = new FileWriter(path + result); //建立FileWrite对象,并设定由fw对象变量引用
out.println(path + result);
//将字串写入文件
fw.write("大家好!");
fw.write("祝大家学习jsp愉快!");
fw.write("希望大家能够深入了解jsp技术!");
fw.close(); //关闭文件
FileReader fr = new FileReader(path + result); //建立FileReader对象,并设定由fr对象变量引用
BufferedReader br = new BufferedReader(fr); //建立BufferedReader对象,并设定由br对象变量引
String Line = br.readLine(); //读取一行数据
out.println(Line + "<BR>"); //输出读取得的数据
br.close(); //关闭BufferedReader对象
fr.close(); //关闭文件
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询