![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| vns955 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
Всем здрям!
Я хочу сделать форму (jsp, Web application) с полем для поиска по какому-либо критерию (скажем по названиям клиентов, содержащих требуемую строку, like). Но хотелось бы чтоб текущая строка в поле ввода сохранялась в процессе работы (в течение сеанса) текущего пользователя. Если сохранять это поле, возращаемое в command (методом onSubmit), в простую переменную, определенную в текущем классе, то переменная получается разделяемая, т.к. этот класс синглетный. Т. обр. если логинится новый пользователь, то у него не пустая строка, а то что ввел предыдущий пользователь . Подскажите плз как решить эту проблему проще. Использую Spring 2.0. Заранее спасибо! |
|||
|
||||
| ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 2 Всего: 28 |
Храните значение переменной в HTTP сессии и при инициализации формы вытаскивайте его из сессии...
Это сообщение отредактировал(а) ivanovpv - 7.12.2009, 22:55 -------------------- Aut viam inveniam aut faciam |
|||
|
||||
| vns955 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
А как это сделать сказать вкратце можете или привести пример кода? Спасибо.
|
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 3 Всего: 44 |
JSP:
Это сообщение отредактировал(а) DimW - 8.12.2009, 09:30 |
|||
|
||||
| ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 2 Всего: 28 |
Да, так тоже можно, а можно и по другому - в JSP всегда есть переменная session
А класть значение параметра myValue в атрибут сессии лучше все же обработчике формы - MVC все же таки -------------------- Aut viam inveniam aut faciam |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 3 Всего: 44 |
честно говоря очень редко приходится в jsp писать подобные обработчики, это скорее рефлекторно получилось MVC хорошо понимается, когда есть определенный багаж знаний, судя по вопросу ТС - ему нужно понять как вообще с этим жить... vns955, в варианте что я предложил есть косяк - значение поиска в сессию падает один раз |
|||
|
||||
| ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 2 Всего: 28 |
Ерунда весь этот MVC... Ну то есть конечно надо стараться следовать этому, но не надо из него делать фетиш и пытаться абсолютизировать паттерн. Важно чувствовать грань за которой борьба за чистоту паттерна начинает сказываться на продуктивности программирования, когда 90% уходит не выполнение задачи, а на попыткам сохранения чистоты. Здесь то же самое. Есть борцы за чистоту MVC на дух не переносящие скриптлеты в JSP страничках и пытающиеся все решить средствами custom tags и проч. Я смайлик поставил имея ввиду только это, что тут есть небольшой скриптлетик, который на взгляд некоторых апологетов в общем то не очень ложится в схему MVC, зато сильно облегчает жисть. -------------------- Aut viam inveniam aut faciam |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 3 Всего: 44 |
а что по вашему продуктивное программирование - это типа когда мысль прет и нужно ее по быстрому изложить там где придется?
ivanovpv, вы знаете, часто 90% потраченного времени через некоторое время преврашается в 900% сэкономленного, а грань о которой вы говорите весьма не однозначна, все зависит от опыта и количества грабрей собранных собственным лбом. лично мне MVC как архитектура нравится, но следовать ее идеалогии получается не всегда, здесь с вами полностью согласен. |
|||
|
||||
| acvilon |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 16.4.2007 Где: Spb Репутация: нет Всего: нет |
DimW, согласен с тобой.
Вообще, по максимум нужно использовать jstl, и если уж совсем никак писать скриплеты. И лучше подумать, может стоит это вынести как метод куда-нибудь. К примеру, в утилиты. |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 3 Всего: 44 |
я не совсем уверен в том, что ты понял что я хотел сказать. просто все архитектуры/технологии ограничены рамками их использования, и как часто бывает, разработка того или иного ПО в силу своей специфики не умещается в эти рамки. лично я не вижу ничего страшного в скриптлетах, если они действительно оправданы - хотябы даже экономически... если говорить конкретно о том примере который я привел, то в случае, если хранение параметров поиска является концепцией приложения то стоит подумать о диспатчере в виде сервлета, если это будет использоваться всегда на одной странице, то у меня сомнение в целесообразности использования сервлета. вобщем тут спорить не очем, все и так слишком очевидно |
|||
|
||||
| vns955 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
Спасибо за советы
Но тогда возникают такие вопросы: 1. У меня таких форм много будет в проекте и тоже будет необходимость сохранять переменные. Как обеспечить уникальность имен атрибутов? Может к имени переменной ещё и присоединять текущий сервлет (getServletName())? 2. Ограничено ли число атрибутов для сессии? Не будет ли переполнений стека и т.п. и вообще не будет ли излишней нагрузки на сервер? Какие-то есть ещё подводные камни? |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |