我正在尝试将某些值从我的servlet传递到JSP页面并添加已传递给标记的值,阅读很多帖子我已经得到了以下代码。
upload.java
上传文件后,
response.setContentType("text/html");
String LINE = "<br>";
String filename = "/WEB-INF/my.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;
}
request.setAttribute("File_Text", fileTxt);
RequestDispatcher rd = request.getRequestDispatcher("mypage.jsp");
rd.forward(request, response);
}
mypage.jsp
<div id="editor"></div>
<form method="post" name="myform" action="upload" target="_blank" enctype="multipart/form-data" style="position: absolute; right: -5%; top: 2%;">
Left File : <input type="file" name="dataFile1" id="fileChooser1" /><br><br>
Right File : <input type="file" name="dataFile2" id="fileChooser2" /><br><br>
Config File :<input type="file" name="dataFile3" id="fileChooser3" /><br><br>
<button type="button" onclick="ValidateFile()">Click to Upload files</button>
</form>
<script type='text/javascript'>
function ValidateFile()
{
var FileName1 = document.getElementById('fileChooser1').value;
var FileName2 = document.getElementById('fileChooser2').value;
var FileName3 = document.getElementById('fileChooser3').value;
if(FileName1.length == 0 && FileName2.length == 0 && FileName3.length == 0)
{
alert("No files have been selected to upload");
}
else
{
if(FileName1 == FileName3 || FileName2 == FileName3)
{
alert("Configuration file should not be same as left or right files. Please check your uploads");
}
else
{
document.myform.submit();
}
var filecontent = ${File_Text};
var divv = document.getElementById("editor");
divv.innerHTML = filecontent;
}
}
</script>
现在,完成所有这些操作后,当我点击我的上传按钮时,它只是无法正常工作,点击根本无法被识别,但当我删除文件访问代码时按钮工作正常..
====================================== EDIT ======== ===============================
只是为了进一步澄清事情,
答案 0 :(得分:0)
试试这个:
while ((text = reader.readLine()) != null) {
fileTxt = text + LINE;
}
request.setAttribute("File_Text", fileTxt);
RequestDispatcher rd = request.getRequestDispatcher("mypage.jsp");
rd.forward(request, response);
答案 1 :(得分:0)
Upload.java没有变化
<div id="editor">${File_Text}</div>
<form method="post" name="myform" action="upload" target="_blank" enctype="multipart/form-data" style="position: absolute; right: -5%; top: 2%;">
Left File : <input type="file" name="dataFile1" id="fileChooser1" /><br><br>
Right File : <input type="file" name="dataFile2" id="fileChooser2" /><br><br>
Config File :<input type="file" name="dataFile3" id="fileChooser3" /><br><br>
<button type="button" onclick="ValidateFile()">Click to Upload files</button>
</form>
<script type='text/javascript'>
function ValidateFile()
{
var FileName1 = document.getElementById('fileChooser1').value;
var FileName2 = document.getElementById('fileChooser2').value;
var FileName3 = document.getElementById('fileChooser3').value;
if(FileName1.length == 0 && FileName2.length == 0 && FileName3.length == 0)
{
alert("No files have been selected to upload");
}
else
{
if(FileName1 == FileName3 || FileName2 == FileName3)
{
alert("Configuration file should not be same as left or right files. Please check your uploads");
}
else
{
document.myform.submit();
{
}
}
</script>