Отправка параметров формы из JSP в класс действий Struts - PullRequest
0 голосов
/ 30 ноября 2011

Я реализую функцию поиска на создаваемом мной веб-сайте, который включает поиск по хэшу 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")вернуть ноль по какой-то причине.Я работал над этим некоторое время и не смог понять это.Странно то, что когда-то это работало на меня, когда я работал над другим проектом.Я что-то здесь упускаю?

1 Ответ

1 голос
/ 30 ноября 2011

Это null, потому что вы использовали multipart/form-data кодирование формы вместо (по умолчанию) application/x-www-form-urlencoded. По сути, вы должны (позволить Struts) извлечь текстовые поля из тела данных составной формы так же, как вы (или Struts) извлекли загруженный файл. Или, поскольку в вашей форме вообще нет поля <input type="file">, просто полностью удалите атрибут enctype.

Смотри также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...