繁体   English   中英

在文件上载期间从一个JSP获取标记值到另一个JSP

[英]Get the tag value from one JSP to another JSP during file uploading time

我的项目概念是将文件上传到数据库。 下面的代码工作正常,但问题是我无法从一个页面到另一个页面获取<select>值,它总是显示null值。

如何在文件上传期间将<select>元素值从一个JSP获取到另一个JSP?

  <FORM ENCTYPE="multipart/form-data" ACTION="upload_page.jsp" METHOD=POST>
       <center>
       <table border="0" bgcolor=#ccFDDEE>
       <tr><center><td colspan="2" align="center"><B>UPLOAD THE FILE</B>
      <center></td></tr>
       <tr><td colspan="2" align="center"> </td></tr>
       <tr><td><b>Choose the file To Upload:</b></td><td><INPUT NAME="file" TYPE="file"> </td></tr>
       <tr><td colspan="2" align="center"> </td></tr>
       <tr><td colspan="2" align="center"><input type="submit" value="Send File">            </td></tr>
       <tr>
       <td>
       <select name="t1">
      <option value="mars">Mars</option>
      <option value="moon">Moon</option>
      <option value="sun">Sun</option>
      <option value="earth">Earth</option>
      </select>
      </td>

******** 
<% String s1=request.getParameter("t1"); System.out.println(s1); 
********

您是以multipart/form-data编码提交表单。 这与默认application/x-www-form-urlencoded默认application/x-www-form-urlencoded编码不同, getParameterXxx()方法。 它们都会在multipart/form-data上返回null ,因为默认情况下不支持multipart/form-data

基本上,您需要使用相同的API来提取常规表单字段,因为您当前正在使用它来提取上传的文件。 通常这是Apache Commons FileUpload,所以我假设你也在使用它。 您应该在某处使用if (!fileItem.isFormField())检查来获取文件字段。 您需要挂钩else以获取正常的表单字段。

或者,如果您已经在Servlet 3.0上,请使用@MultipartConfig注释将表单提交给普通的servlet,并使用getPart()方法获取文件字段,然后您可以继续使用getParameterXxx()方法来获取正常的表单字段。

也可以看看:


具体问题无关 ,使用90的样式大写HTML标记/属性名称并使用自1998年以来弃用的<center>元素并使用HTML表格元素而不是CSS的气馁样式属性不会让我觉得你正在学习HTML基于适当和最新的资源。 确保你这样做。 此外,从十年开始, 不允许将表单提交给JSP并使用scriptlet 确保您还阅读合理的JSP资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM