[英]Sending form parameters from JSP to Struts action class
我正在我正在構建的網站中實現搜索功能,該功能涉及通過md5哈希搜索提交文件的名稱,並搜索與每個提交文件相關的注釋。 因此,我應該檢測按“ MD5搜索”或“按注釋搜索”所按下的按鈕。 這是我的代碼:
JSP代碼形式:
<form id="search" name="search" action = "search.do"
method="POST" enctype="multipart/form-data">
<table align = "center">
<tr>
<th colspan="4" bgcolor="#004276"><font color="white">
Search for Sample
</th>
</tr>
<tr>
<td><input name="md5" type="text" value="${form.md5}"/></td>
<td><input name="md5search" type="submit" value="Search by MD5"/>
</tr>
<tr>
<td><input name="notes" type="text" value="${form.notes}"/></td>
<td><input name="notessearch" type="submit" value="Search by Notes"/>
</tr>
</table>
</form>
search.do映射到SearchResultsAction.java。 處理請求的Java操作類(SearchResultsAction)中的代碼為:
if(request.getParameter("md5search").toString().equals("Search by MD5")){
searchSubmissionsList = submissionsDAO.searchSubmissionsByMD5(form.getMD5());
}
if(request.getParameter("notessearch").toString().equals("Search by Notes")){
searchSubmissionsList = submissionsDAO.searchSubmissionByNotes(form.getNotes());
}
但是我在這里面臨的問題是,由於某種原因,request.getParameter(“ md5search”)和request.getParameter(“ notessearch”)返回null。 我已經為此工作了一段時間,但一直無法弄清楚。 奇怪的是,當我在另一個項目上工作時,它曾經對我有用。 我在這里想念什么嗎?
這是null
因為您使用的是multipart/form-data
表單編碼,而不是(默認) application/x-www-form-urlencoded
。 基本上,您必須(讓Struts)從多部分表單數據主體中提取文本字段,就像您(或Struts)提取上載文件一樣。 或者,由於您的表單中實際上根本沒有<input type="file">
字段,因此只需完全刪除enctype
屬性即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.