JSF разница между действием, actionlistener, onClick [дубликат]
этот вопрос уже есть ответ здесь:
- различия между действием и actionListener 3 ответы
- как вызвать метод действия bean с помощью ссылки? Функция onclick не работает 3 ответы
Я использую JSF в своем проекте. Я использую контекстное меню из PrimeFaces. Я вижу в p:menuItem У нас есть action, actionListener, onclick методы. Поэтому мой вопрос: когда я должен использовать action, actionListner, onclick а каков порядок исполнения?
2 ответов
onclickбудет выполнен первым. Он используется для вызова функции JavaScript.actionListenerиспользуется, когда вы хотите иметь некоторый вызов ajax для
метод. Этот метод должен иметь тип возвращаемогоvoidметод либо возьмитеActionEventв качестве аргумента или без аргумента; он может также используется для вызова не ajax, но затем страница будет обновлена.actionиспользуется для перехода на другую страницу; метод должен имейте тип возвратаString.
этот вопрос был задан раньше. Действие используется, когда вы хотите вызвать метод в базовый компонент. е.г
action="#{myBean.myMethod}"
код для bean будет как
@ManagedBean(name = "myBean", eager = true)
@ViewScoped
public class MyBean{
myMethod(){
// your method code here
}
}
как слушатель действия, делает то же самое за исключением того, что он вызывается событие
myMethod(Event e){
// your method code here
}
обратите внимание, что событие может быть любого типа.
onclick работает перед отправкой запроса ajax у меня нет много knowlegde aboput... я использовал его только для целей UI для пример закрытия диалогового окна при нажатии кнопки
<p:commandButton id="cancel" value="Cancel"
icon="ui-icon ui-icon-arrowreturnthick-1-w"
style="float:right;" onclick="PF("dlg").hide()" type="button">
</p:commandButton>
СМ. ТАКЖЕ