| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Работа с масссивами в jstl |
| Автор: SergeSerge 18.12.2009, 14:50 | ||||
Помогите пожалуйста, совсем замучился! Есть страница, в которую выводятся записи из БД. Для редактирования записей существует 2 кнопки: Edit и delete. При нажатии на кнопку надо, чтобы страница узнавала, какая именно кнопка к ней привела. Каждая из кнопок находится в своей форме, для упрощения обработки. Названия кнопок генерирую так:
Весь затык в том, чтобы передать имя кнопки в бин, но как это сделать, не знаю, ведь по факту, кнопок у меня может быть море, никакого бина не хватит. Или подскажите, как сделать так, чтобы прямо на jsp странице перебирался массив из уже готового бина. Пробовал сделать так:
Где QuestionHandler.edits - массив в бине. Понимаю, что ересь, но у меня уже закончились идеи, как это можно сделать. |
| Автор: garbuz 19.12.2009, 00:34 | ||
| Делается это примерно так. На страницу выводите записи из бд. Напротив каждой строки рисуете две ссылки edit / delete. Каждая из которых содержит параметр типа id и action. Получаются ссылки вида
В сервлете/жсп странице соотвественно получаете параметры и производите нужные действия. Можно не лепить много ссылок, можно расставить чекбоксы и сделать две кнопки. Кому как нравится. |
| Автор: SergeSerge 19.12.2009, 12:32 |
| Да с ссылками я быстро бы сделал. Но нужны именно кнопки. Вот такой изврат. |
| Автор: garbuz 19.12.2009, 14:00 |
Опишите задачу поподробнее, не очень понятно из первого поста. Какой массив? Почему именно массив? Почему перебираем мап? Какие бины? |
| Автор: SergeSerge 19.12.2009, 14:32 |
| Задача: надо сделать так, чтобы при нажатии на кнопку мы переходили на другую страницу, к примеру, на страницу редактирования вопроса. Страница должна знать, какой именно вопрос мы редактируем, то есть он должен быть выведен на этой странице в текстовом поле. Массивы и мое желание передать все в бин появилось из-за того, что мне так удобнее работать. А поскольку кнопки я генерирую таким образом, чтобы у них имя было АйДишником записи из базы данных, то пробовал создать массив в бине из этих самых айдишников, чтобы, получив имя кнопки, методом перебора найти нужную для редактирования запись в бд. Вот, не знаю, как это сделать. P.S. Мап перебираем потому, что на предыдущей странице каждая кнопка в своей форме. То есть заведомо там будет только один параметр, имя кнопки. А что касается бина, то там как раз и хранится тот самый массив, который я перебрать хотел. Я же, блин, не знаю ничего, кроме цикла forEach в jstl |
| Автор: garbuz 20.12.2009, 01:12 | ||||||
| SergeSerge, ну уж раз хочется кнопки, так пусть будут кнопки. Предлагаю следующее, может быть не самое красивое решение: Раз уж вы делаете множество форм, то можно имя кнопкам давать одно и то же. Это избавит вас от переборов для поиска нужной записи. В каждую форму помещать скрытое поле с идентификатором. Типа того
или вообще так
Тогда на стороне сервера будет нечто
Ну как-то так короче |
| Автор: SergeSerge 20.12.2009, 09:59 |
| Сделал по второму способу, работает. garbuz, огроменнное спасибо, тема закрыта. |