[英]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.