JSF разница между действием, actionlistener, onClick [дубликат]

этот вопрос уже есть ответ здесь:

Я использую 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>

СМ. ТАКЖЕ

различия между действием и actionListener