我有一个JSP页面,其中编辑器(ACE编辑器)基于DIV标记。
1. User upload a file (ex: my.txt)
2. This file is saved in the servlet (WEB-INF/my.txt)
现在,我想打开此文件,将其内容复制到Java Script中的变量并填充DIV标记。
我该怎么做?
根据下面的答案,我了解到,一旦我获得文件的内容,我可以使用
填充我的DIV标签var MyDiv1 = document.getElementById('DIV1');
MyDiv1.innerHTML = yourFileContent;
这解决了问题的第二部分,现在如何打开该文件并将其内容复制到JS中的var?
==================================== EDIT ========== ================================
从下面的答案中,我完成了以下步骤
步骤1:获取文件内容,我接受4个输入文件,因此我已经包含了一个文件计数器来识别正在上传的文件,以及何时上传第4个inpiut文件,其内容将被存储到字符串变量中。
Servlet.java
response.setContentType("text/html");
String LINE = "<br>";
String filename = "/WEB-INF/myfile.txt";
fileTxt = "";
ServletContext context = getServletContext();
InputStream is = context.getResourceAsStream(filename);
if (is != null)
{
InputStreamReader isr = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(isr);
PrintWriter writer = response.getWriter();
String text = "";
while ((text = reader.readLine()) != null) {
fileTxt = text + LINE;
writer.print(fileTxt);
HttpSession session = request.getSession(true);
session.setAttribute("FileText", "fileTxt");
}
}
步骤2:提交表格进行上传,并在提交访问变量后立即填写,
my.jsp
document.myform.submit();
var name = '<%= session.getAttribute("FileText") %>';
var div = document.getElementById("editor");
div.innerHTML = name;
PS:这仍然显示一个空值,正在处理它并等待fr答案。