2015-07-14 4 views
1

На моей странице у меня есть форма с данными из базы данных. Я хочу реализовать как поведение по умолчанию запись всех изменений в db.
я нашел такой примерОбновление объекта в bean-компоненте без перезагрузки

<h:selectOneMenu value="#{bean.options}" onchange="submit()" 
         var="#{bean.options}" valueChangeListener="#{bean.changeListernMethod}"> 
         <f:selectItem itemValue="1" itemLabel="option1" /> 
         <f:selectItem itemValue="2" itemLabel="option2" /> 
         <f:selectItem itemValue="3" itemLabel="option3" /> 
        </h:selectOneMenu> 

но это не вызывается метод слушателя и перезагружать всю страницу. Я не могу перезагрузить страницу при каждом изменении ввода или изменении меню. У вас есть идея, как добиться такого поведения? Обновление объектов в bean-компоненте без перезагрузки страницы.

+0

Рассматривали ли вы с помощью AJAX? –

+0

AJAX может быть хорошей идеей. Но как использовать его в JSP с Primefaces? –

+0

Вы случайно случайно отклонили один из моих ответов? –

ответ

2
<f:ajax listener="#{bean.changeListernMethod}" render="@form" event="valueChange"/> 

Это то, как вы реализуете частичный submit или в своих словах: обновлять объекты в bean-компоненте без перезагрузки страницы. Строка, которую я набрал, будет запускать ajax и обновлять (только) форму всякий раз, когда значение выбрано и отличается от предыдущего выбранного.

Для получения дополнительной информации:

https://docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/facelets/f/ajax.html

+0

Так что он работает для selectOneMenu не в теге . Я добавил источники на свой пост. Для selectOneMenu в слушатель не вызывается. –

+0

Если используется с первичными гранатами, используйте

+0

Здесь что-то не так. Мои выпуски и новые комментарии удаляются. Я использую p: ajax сейчас, но слушатель не работает внутри p: dataTable –

Смежные вопросы