簡體   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