|
0 / 0 / 1
Регистрация: 06.08.2014
Сообщений: 57
|
|||||||||||||||||||||
Как отобразить запрос на jsp, который возвращает одну строку?31.08.2014, 01:14. Показов 3171. Ответов 25
Метки нет (Все метки)
Здравствуйте. Как отобразить запрос, на выборку информации о пользователе, который зашел в систему (профиль пользователя)? Пытаюсь сделать так:
UserDaoImpl: Кликните здесь для просмотра всего текста
UserServiceImpl: Кликните здесь для просмотра всего текста
UserController: Кликните здесь для просмотра всего текста
profile.jsp: Кликните здесь для просмотра всего текста
выходит пустая таблица. Как правильно написать строку 28 в profile.jsp?
0
|
|||||||||||||||||||||
| 31.08.2014, 01:14 | |
|
Ответы с готовыми решениями:
25
Как использовать запрос, который возвращает больше одного значения |
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 01.09.2014, 00:41 | |
|
Visiterr, попробуйте в контролеере в методе findUsers сделать через ModelAndView.
0
|
|
|
0 / 0 / 1
Регистрация: 06.08.2014
Сообщений: 57
|
||||||
| 01.09.2014, 03:21 [ТС] | ||||||
|
animator404, как это правильно написать?
Пытаюсь так: Кликните здесь для просмотра всего текста
все равно пустая таблица выходит. Но запрос выполняется: Кликните здесь для просмотра всего текста
Hibernate: select user0_.id as id0_, user0_.address as address0_, user0_.birthdate as birthdate0_, user0_.category_id as category14_0_, user0_.comment as comment0_, user0_.confirmPassword as confirmP5_0_, user0_.email as email0_, user0_.enabled as enabled0_, user0_.gender as gender0_, user0_.login as login0_, user0_.name as name0_, user0_.password as password0_, user0_.surname as surname0_, user0_.tel as tel0_ from user user0_ where user0_.login=?
0
|
||||||
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 01.09.2014, 14:36 | |
|
Visiterr, а где перед возвращением return model; - страници вы ложите значение в модель?
Вы сделали запрос в сервис userService.getLogin(userLogin);, ну а дальше? Куда вы ложите возвращаемое значение?
0
|
|
|
0 / 0 / 1
Регистрация: 06.08.2014
Сообщений: 57
|
|||||||||||
| 02.09.2014, 04:16 [ТС] | |||||||||||
|
Делаю так:
Кликните здесь для просмотра всего текста
и в profile.jsp так: Кликните здесь для просмотра всего текста
выходит все та же пустая таблица. Правильно ли я добавляю значение в модель?
0
|
|||||||||||
|
59 / 59 / 20
Регистрация: 21.03.2013
Сообщений: 186
|
||
| 02.09.2014, 09:37 | ||
Попробуйте удалить тег <c var="user"> </c> Насколько я понимаю, должно работать без этого. Сразу же в jsp начинайте использовать переменную ${user} без всяких <c var=.....>
1
|
||
|
0 / 0 / 1
Регистрация: 06.08.2014
Сообщений: 57
|
|
| 02.09.2014, 14:44 [ТС] | |
|
Делаю без <c var="user"> </c> все равно выходит пустая таблица
0
|
|
|
0 / 0 / 1
Регистрация: 06.08.2014
Сообщений: 57
|
||||||
| 02.09.2014, 22:01 [ТС] | ||||||
|
Артём121, сейчас у меня вместо того кода этот:
Кликните здесь для просмотра всего текста
не совсем понимаю что должно быть первым аргументом в методе addObject
0
|
||||||
|
59 / 59 / 20
Регистрация: 21.03.2013
Сообщений: 186
|
||
| 02.09.2014, 22:49 | ||
|
0
|
||
|
0 / 0 / 1
Регистрация: 06.08.2014
Сообщений: 57
|
|
| 03.09.2014, 00:01 [ТС] | |
|
Virkom, почему тогда все равно пустая таблица возвращается?
0
|
|
|
59 / 59 / 20
Регистрация: 21.03.2013
Сообщений: 186
|
||
| 03.09.2014, 00:14 | ||
![]() А вообще, дебаггер - незаменимая вещь в таких случаях. Запускаешь дебаг и смотришь, что откуда берется и куда возвращается...
0
|
||
|
0 / 0 / 1
Регистрация: 06.08.2014
Сообщений: 57
|
|||||||||||
| 03.09.2014, 03:47 [ТС] | |||||||||||
|
Делаю так, тогда все получается
UserDaoImpl: Кликните здесь для просмотра всего текста
т. е. если в запросе указать какой-то конкретный логин, например, 'login1' (он есть в базе), тогда все данные в таблицу выводятся. кто-нибудь знает как получить именно тот логин, который ввел пользователь при входе в систему? Так не получается: Кликните здесь для просмотра всего текста
0
|
|||||||||||
|
|
||||||
| 03.09.2014, 09:44 | ||||||
|
Используй вместо setString метод setParameter
0
|
||||||
|
0 / 0 / 1
Регистрация: 06.08.2014
Сообщений: 57
|
||||||
| 03.09.2014, 19:02 [ТС] | ||||||
|
Артём121, так тоже не получается:
Кликните здесь для просмотра всего текста
0
|
||||||
|
59 / 59 / 20
Регистрация: 21.03.2013
Сообщений: 186
|
|||||||
| 03.09.2014, 23:03 | |||||||
|
Так. Разберем немного jsp.
1.
2. имеем форму с методом передачи post. Прописаны также action="/user/find" и commandName="findUser". Это значит, что в форме должен быть где-то submit. Т.е. при нажатии на кнопку submit, данные передаются на сервер методом post по URL /user/find. Отрабатывает метод findUser и возвращается найденный юзер. Так как у вас никакого submit нету в форме, то подозреваю, что вы просто показываете этот jsp и все. Данные на сервер не отправляются, метод findUser не отрабатывает, объект ${user} пуст. Пустые данные и выводятся. По сути, должно быть примерно так: 1. Пользователь логинится. 2. Мы ищем его id и сохраняем в сессию. 3. Пользователь кликает по ссылке "Профиль". 4. В это время отрабатывает контроллер, который вытягивает из сессии id и по этому id ищет в базе пользователя, добавляет его в ModelAndView и только после этого мы отправляем пользователя на страницу profile.jsp. Теперь объект с идентификатором ${user} существует. Он подгружен еще ДО загрузки страницы profile.jsp. А у вас, судя по приведенному коду, страница profile.jsp выводится пустая и ждет, пока случится событие submit данные отправятся на сервер методом post и можно будет искать нужного юзера. Но оно не случится никогда, потому что нет кнопки, которая этот submit вызовет. Думаю, причина в этом. Добавлено через 13 минут
Чтобы проверить мою теорию, попробуйте изменить вот так. Потом нажмите на кнопку. Страница должна перезагрузиться уже с данными.
1
|
|||||||
|
0 / 0 / 1
Регистрация: 06.08.2014
Сообщений: 57
|
||||||||||||||||||||||||||
| 04.09.2014, 04:07 [ТС] | ||||||||||||||||||||||||||
|
Это <form:form> </form:form> было взято из примера, где есть submit.
Пришлось переделать этот метод так: Кликните здесь для просмотра всего текста
иначе пишет: HTTP Status 405 - Request method 'POST' not supported. здесь делаю один к одному как у Вас: Кликните здесь для просмотра всего текста
Так тоже ничего не меняется: UserController Кликните здесь для просмотра всего текста
profile.jsp Кликните здесь для просмотра всего текста
Добавлено через 14 минут еще интересно почему если этом запросе написать login='login1':
0
|
||||||||||||||||||||||||||
|
59 / 59 / 20
Регистрация: 21.03.2013
Сообщений: 186
|
|||||||
| 04.09.2014, 09:54 | |||||||
|
Да, у меня в jsp ошибка. Строки "<c value="${userProfile}" var="user">" не должно там быть. Попробуйте удалить ее.
Посмотрите в дебаггере, что отправляется в userService.getLogin(userLogin) и что принимается из него. Что имеем: 1. Если сразу написать логин в запросе, то все работает. 2. Если пытаться динамически подставлять логин, который вводит пользователь - не работает. Вывод? Не работает передача введенного пользователем логина в запрос. Это может быть либо ошибка передачи логина из jsp в контроллер, либо неправильно реализован UserService. Судя по тому, что UserService организован нормально, то делаем вывод, что ошибка где-то в передаче введенного пользователем логина в контроллер. А конкретно - неправильно реализован метод findUsers. Если поставить точку останова на строку
Нашел свои давние исходники, и там есть вот такая конструкция:
1
|
|||||||
|
0 / 0 / 1
Регистрация: 06.08.2014
Сообщений: 57
|
||||||||||||||||||||||||||
| 04.09.2014, 20:58 [ТС] | ||||||||||||||||||||||||||
|
Теперь делаю так:
UserController Кликните здесь для просмотра всего текста
UserDaoImpl: Кликните здесь для просмотра всего текста
menu.jsp (здесь ссылка на профиль): Кликните здесь для просмотра всего текста
profile.jsp: Кликните здесь для просмотра всего текста
Дальше нажимаю на кнопку и получаю вот это: HTTP Status 403 - Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'. По-моему это связано с формой ввода логина и пароля, строки 36, 37, вот форма: login.jsp Кликните здесь для просмотра всего текста
Отладчик к сожалению не работает в IntellijIdea 13.
0
|
||||||||||||||||||||||||||
|
59 / 59 / 20
Регистрация: 21.03.2013
Сообщений: 186
|
|
| 04.09.2014, 21:49 | |
|
Что за объект _csrf? Где его объявление и контроллер, который его обрабатывает?
Беглый просмотр интернетов сказал, что token должен генерироваться для каждого пользователя. В ошибке говорится, что токен не сгенерирован и является "null"
0
|
|
| 04.09.2014, 21:49 | |
|
Помогаю со студенческими работами здесь
20
DLookup, возвращает ли запрос хотя бы одну запись? Метод который возвращает строку RX и Retrofit запрос, который ничего не возвращает
Как отобразить структуру (иерархическую) файлов в JSP? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|