在同一页面上的textarea中打印文件内容

时间:2011-12-28 11:30:23

标签: html jsp servlets upload textarea

我需要一个带有文件上传的页面和一个文本区域,在该页面中打印文件的内容。

目前我有一个jsp文件和一个servlet:

index.jsp的一部分:

 <form action="FileReader" ENCTYPE="multipart/form-data" method="POST">
 <textarea name="textinputarea" rows="14" cols="130" readonly>
  Some text 
 </textarea>
 <br> <br><tr>


  <td valign="top" align="left" height="200" width="33%">
  <img class="start_img" src="file_Selections.jpg"> <br> 

  <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
  <input type="file" name="user_file" accept="text/xml">   
  <input type="submit" value="Validate" /> <br>
   </form>

servlet的一部分:

public void doPost(HttpServletRequest request, HttpServletResponse response)      
String name = request.getParameter("textinputarea");
(...)
}else {
String otherFieldName = item.getFieldName();
String otherFieldValue = item.getString();}}

(...)

out.println("<html>");
out.println("<head>");
out.println("<title>Processing get requests with data</title>");
out.println("</head>");

// body section of document
out.println("<body>");
while ((strLine = br.readLine()) != null) {

// Print the content on the console
out.println(strLine + "</br>");
 }
 out.println("</body>");

 // end of html document
 out.println("</html>");
  out.close();

  } catch (Exception e) {
 response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.toString());
 };
 }

这实际上是在新页面中打印文件的内容。我试图给出相同的文本区域名称和“String name = request.getParameter(”textinputarea“);”..

谢谢你的时间!

1 个答案:

答案 0 :(得分:1)

else块中提供了所有表单字段,您在后处理中完全忽略了这些字段。

} else {
    String otherFieldName = item.getFieldName();
    String otherFieldValue = item.getString();
}

不要忽视它。这些值表示常规表单字段的名称=值对。

请注意,您无法在getParameter()编码请求中使用multipart/form-data。这正是您使用Apache Commons FileUpload来提取文件的原因。您应该使用相同的API来提取multipart/form-data请求的其他部分。

另见: