Получение параметра HttpServeletRequest внутри формы модели Spring MVC

Я хочу получить значение из поля, которое не является частью модели, установленной в параметре атрибута модели тега формы spring mvc для моего контроллера. Я не понимаю, как это сделать. вот мой файл jsp:

    <!-- need to associate this data with invoice id -->



        <table style = "border-collapse: collapse;">

            <tbody>

                <tr>
                    <td><label>ID:</label></td>
                    <td style = " padding-top: .8em; padding-bottom: .8em;"><form:input path = "Id" /></td>
                    <td><form:errors class = "error" path = "Id"/></td>

                </tr>

            **<!-- I want to retrieve the value from form:select tag which do not have path in the model class-->**     

                <tr>
                    <td><label>Customer ID:</label></td>
                    <td><form:select style = "width:260px; height:28px;" 
            path = ""  id = "theCustomerId" onchange = "doAjax()">
                        <form:options items = "${CustomerIDList}"/>
                        </form:select></td>

Я пробовал HttpServletRequest, задав его имя и отправив его контроллеру и получив с помощью getparameter, но это вызывает исключение нулевого указателя.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
29
1

Ответы 1

Отредактировано: проверьте, пытались ли вы установить имя, как показано ниже.

Попробуйте это на странице jsp.

 <form:select style = "width:260px; height:28px;" 
        path = ""  id = "theCustomerId" name = "theCustomerId" onchange = "doAjax()">

Затем на вашем контроллере попробуйте это

String theCustomerId = request.getParameter("theCustomerId");

Нет, это не скрытое поле. Это поле внутри модельной формы. Проблема в том, что поле не является атрибутом модели, поэтому у него нет значения пути. Я пробовал это, задав имя поля и получая его с помощью параметра get, но это исключает исключение нулевого указателя.

Asad Jivani 31.07.2018 11:49

извините, позвольте мне узнать больше ... поле внутри формы модели, это отображение или внутри формы: select, селектор? @AsadJivani

薛源少 31.07.2018 11:53

еще одна вещь, как вы передаете поле своему контроллеру? Это обычная форма-> submit или doAjax (). при использовании doAjax () это не сработает, если вы установите имя в jsp, скорее вам нужно установить его внутри doAjax ().

薛源少 31.07.2018 11:58

doAjax () для чего-то еще, Его отправлено как обычная форма: форма, Да, поле является формой: выберите Я хочу получить его выбранное значение без использования модели, поскольку оно не является частью модели

Asad Jivani 31.07.2018 12:16

Другие вопросы по теме