Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622

Как из формы Spring передать параметр id

29.08.2018, 09:15. Показов 4015. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется форма для редактирования которая вызывается при запросе GET
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
.....
        <form:form method="POST"  action="${pageContext.request.contextPath}/editStudent" commandName="student" enctype="multipart/form-data">
 
        <div class="row">
            <div class="col-sm-6">
                <div class="form-group row">
                    <div class="col-3 align-items-start">
                        <label>First Name:</label>
                    </div>
                    <div class="col-7 align-items-start">
                        <form:input path="firstName" class="form-Control"/>
                    </div>
....
                </div>
                <div class="form-group row">
                <img id="blah" src="<c:url value="../resources/images/${student.id}.jpg" />" alt="your image" width="200" height="178"/>
....
В контроллере обрабатывается так
Java
1
2
3
4
5
6
7
8
9
10
11
12
    @RequestMapping(value = "/editStudent/{studentId}", method = RequestMethod.GET)
    public String editStudent(@PathVariable long studentId, Model model) throws IOException{
 
        Student student = studentDAO.getStudentById(studentId);
        model.addAttribute(student);
        List<Group> groups = new ArrayList<>(groupDAO.getAllGroups());
        model.addAttribute("groups", groups);
        List<PhoneType> phoneTypes = new ArrayList<>(phoneTypeDAO.getAllPhoneTypes());
        model.addAttribute("phoneTypes", phoneTypes);
 
        return "editStudent";
    }
С этим все впорядке. По studentId в форме появляются данные соответствующие studentId
Но далее, после редактирования формы необходимо сделать POST куда передать не только отредактированные данные но и studentId
Делаю так
Java
1
2
3
4
5
6
    @RequestMapping(value = "/editStudent", method = RequestMethod.POST)
    public String editStudent(@ModelAttribute("student") Student student,
                              @RequestParam(value = "studentID") long studentId,
                              HttpServletRequest request ) {
        studentDAO.updateStudent(student, studentId);
....
Подскажите пожалуйста как из формы передать в контроллер @RequestParam(value = "studentID"?
После GET параметр id имеется как ${student.id}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.08.2018, 09:15
Ответы с готовыми решениями:

Как передать id из формы в контроллер Spring
Имеется форма для редактирования студента в которой есть разные input типа &lt;div class=&quot;col-7...

Как передать параметр поля формы в запрос?
Люди, подскажите плз, как мне правильно передать значение поля формы в запрос? пробовал . но оно все равно спрашивает его при рефреше :(

Как передать параметр из формы в ASP код ?
subj

8
 Аватар для sdasdaw
406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777
29.08.2018, 10:32
VlGuvin, Добавьте в форму невидимый input, присвоив ему значение {strudent.id}, при этом, указав name этого input как studentID.

И вы используете старую конструкцию RequestMapping, когда имеется PostMapping / GetMapping.
И вы можете не писать ${pageContext.request.contextPath}

Добавлено через 10 минут
И у вас возможна утечка памяти:
Java
1
List<Group> groups = new ArrayList<>(groupDAO.getAllGroups());
1
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
29.08.2018, 13:07  [ТС]
Спасчибо. hidden сработало.
И вы можете не писать ${pageContext.request.contextPath}
Как тогда будет выглядеть строка запроса из формы? Так правильно?
Java
1
<form:form method="POST"  action="/editStudent/" commandName="student" enctype="multipart/form-data">
0
 Аватар для sdasdaw
406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777
29.08.2018, 13:10
VlGuvin, да, только без последнего слеша
и навсякий случай, вставьте c:url :
HTML5
1
action="<c:url value="/editStudent"/>"
0
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
29.08.2018, 13:18  [ТС]
Java
1
И у вас возможна утечка памяти:
Почему? Все добавляется в модель как атрибут...
0
 Аватар для sdasdaw
406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777
29.08.2018, 13:34
VlGuvin, вы создаете новый объект.

getAllGroups - предполагаю, отдает List, соответсвенно, можно написать:
Java
1
List<Group> groups = groupDAO.getAllGroups();
0
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
29.08.2018, 14:21  [ТС]
Вы имеете ввиду, что
Java
1
 List<Group> groups = new ArrayList<>(groupDAO.getAllGroups());
и
Java
1
List<Group> groups = groupDAO.getAllGroups();
это разные вещи.
Тоесть в первом случае создается ненужный объект
Java
1
new ArrayList<>(groupDAO.getAllGroups())
Во втором метод groupDAO.getAllGroups(); просто загружает данные в уже существующий объект-список List<Group> groups
Правильно-ли я рассуждаю?
0
 Аватар для sdasdaw
406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777
29.08.2018, 14:37
VlGuvin,
Java
1
List<Group> groups = groupDAO.getAllGroups();
Создается новая ссылка на лист из groupDAO.getAllGroups()
0
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
29.08.2018, 14:50  [ТС]
В смысле
Java
1
List<Group> groups = new ArrayList<>(groupDAO.getAllGroups());
- это новая ссылка?

Добавлено через 10 минут
Если да то Вы правы. Память расходуется. Спасибо за подсказку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.08.2018, 14:50
Помогаю со студенческими работами здесь

Как передать параметр из одной формы в другую
Мне нужно передать из одной формы в другую. Т.е на форме кнопка, а по кнопке открывается новая форма и в поле выводится этот параметр?

Как в гиперссылке передать параметр для формы с базой
Так никто и не подсказал. Наверное никто не знает? Подскажите, как в гиперссылке или JavaScript передать значение параметра из одной формы...

Как передать параметр из поля формы в командную строку?
С помощью ASPSMARTUPLOAD гружу файл в базу, т.е есть страничка с формой form.asp и ее action - файл upload.asp. Ну соответственно в форме...

Как передать имя формы как параметр функции
Всем здравствуйте. Почему не срабатывает void WriteSettingToReg(TForm frm) { TRegistry *reg=new TRegistry(); ...

Как передать параметр из jsp java страницы в функцию javascript и возвратить обратно другой параметр
На jsp странице имеется динамически формируемая таблица с чекбоксами в первой колонке каждой строки &lt;tbody&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru