![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
leoric |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 25.7.2008 Репутация: нет Всего: нет |
Попытался создать первое приложение на JSF. Получилось наполовину... Вот код странички index.jsp:
К странице привязан бин MyBean класса CourseGetter, scope=request. Код:
Все это работает под Tomcat'ом 5.5. Почему-то обновление происходит только со второго раза - то есть ввожу в поле inputText значение 1, нажимаю submit - в поле ouputText появляется 0 (как будто старое прочиталось). Нажимаю еще раз submit - тогда страница обновляется так, как нужно - в outputText - 1 , в dataTable - выбранные значения... Помогите понять, что я не так делаю... P.S faces.xml выглядит следующим образом: Код:
Это сообщение отредактировал(а) leoric - 25.7.2008, 18:24 |
||||||
|
|||||||
Dwyane |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 8.5.2007 Репутация: 1 Всего: 1 |
Попробуй request поменять на session.
|
|||
|
||||
leoric |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 25.7.2008 Репутация: нет Всего: нет |
Не помогает...
|
|||
|
||||
necromancer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 26.7.2006 Где: Москва Репутация: 6 Всего: 7 |
=) менять request на session это радикально =)
<h:inputText binding="#{MyBean.id}"/> заменяем на <h:inputText value="#{MyBean.id}"/> в классе: public class CourseGetter { private int id=0; public int getId() {return id;} public void setId(int id) {this.id = id;} public synchronized String submit_action() { generateCourses(); return "index"; } } можно вопрос, синхронизет зачем тут? =) что бы 10 пользователей не могли одновременно нажать кнопку? =) -------------------- С уважением, Виталий Смык ---------------------------------------------------------------------------------------------- SCJP, SCWCD, OCA http://dev.maryno.net/video/ |
|||
|
||||
Dwyane |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 8.5.2007 Репутация: 1 Всего: 1 |
так а что не правильно у leoric? Смена binding на value не должна как-то кардинально менять ситуацию. Хотя безусловно, в 95% ситуациях inputText успользуеться с параметром value.
|
|||
|
||||
leoric |
|
||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 25.7.2008 Репутация: нет Всего: нет |
Не знаю, что было неправильно, но вопрос решился. Я написал простейшее JSF приложение без dataTable. Оно заработало как ожидалось. Тогда я сравнил коды и поправил исходное приложение. В результате получил приложение, которое работало верно. Итак, из изменений - перенес всю работу в submut метод, ассоциировал каждый элемент JSP страницы с своим полем бина. Область видимости бина - request.
А вот код JSP:
Интересно все же, почему оно изначально не работало... |
||||
|
|||||
necromancer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 26.7.2006 Где: Москва Репутация: 6 Всего: 7 |
с биндингом вообще работать не очень приятно. пусть + не затмевают вам -
а из минусов это привязка к jsf api и следовательно не возможность использования кода где либо еще т.е допустим получить некий простой объект и передать его по сети. опять таки сериализация сесии и многое другое. если уж необходимо получить ссылку на элоемент на странице то лично я использую: facesContext.getViewRoot().findComponent("searchresult") мало того данный подход поможет при помощи instansof оптимизировать код под любые параметры. -------------------- С уважением, Виталий Смык ---------------------------------------------------------------------------------------------- SCJP, SCWCD, OCA http://dev.maryno.net/video/ |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |