|
0 / 0 / 1
Регистрация: 06.08.2014
Сообщений: 57
|
|||||||||||||||||||||
Как отобразить запрос на jsp, который возвращает одну строку?31.08.2014, 01:14. Показов 3126. Ответов 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? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|