簡體   English   中英

將表單參數從JSP發送到Struts操作類

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM