Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Rich faces: показать modalPanel из Java-кода, отображение modal dialog window из java 
V
    Опции темы
m0zg
Дата 4.12.2009, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.7.2007

Репутация: 2
Всего: 2



Допустим, есть кнопка, по нажатию которой сработает action, в котором я на сервере хочу проверить определённые данные и, если эти данные меня не устроят, то отобразить окно <rich:modalPanel>...</rich:modalPanel> и остановить submit. Т.е. принцип такой же, как с javascript'овым alert'ом, только мне хочется показать мой красивый modalPanel smile, код которого у меня прописан на странице.

Возможно ли каким-нибудь способом отображать этот компонент из java-класса? Или может ещё какой-то способ есть подобной проверки и запуска modelPanel?

Может какая-нибудь хитрая комбинация с <a4j:jsFunction /> и событиями типа onsubmit, onclick и т.п...?

Это сообщение отредактировал(а) m0zg - 4.12.2009, 14:30
PM MAIL   Вверх
powerOn
Дата 4.12.2009, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



Цитата(m0zg @  4.12.2009,  14:28 Найти цитируемый пост)
если эти данные меня не устроят, то отобразить окно <rich:modalPanel>...</rich:modalPanel> и остановить submit.


Цитата(m0zg @  4.12.2009,  14:28 Найти цитируемый пост)
Т.е. принцип такой же, как с javascript'овым alert'ом, только мне хочется показать мой красивый modalPanel smile, код которого у меня прописан на странице.


Где проверку данных делать хотите? На клиенте через JS или сервере? Если на клиенте то отобразить <rich:modalPanel> можно как показано тут.

Если валидация на сервере, то один из способов сабмитить форму через AJAX, а далее, через reRender (или ajaxRendered="true") панельку в которой будет диалог со свойством showWhenRendered="true", если произошла ошибка валидации, что-то вроде:

Код

<ajax:outputPanel ajaxRendered="true">
    <rich:modalPanel  showWhenRendered="#{myManagedBean.isDataInvalid}">
        ....
    </rich:modalPanel>
</ajax:outputPanel>




Цитата(m0zg @  4.12.2009,  14:28 Найти цитируемый пост)
Возможно ли каким-нибудь способом отображать этот компонент из java-класса?


Вообще говоря в бине вы лишь формируете данные необходимые для рендеринга страницы, никаких вызовов модального окна из Java кода быть не может. Это вам не Swing, тут другая концепция.



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
m0zg
Дата 5.12.2009, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.7.2007

Репутация: 2
Всего: 2



Спасибо, теперь есть над чем подумать smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0485 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.