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>
СМ. ТАКЖЕ