2014-01-29 2 views
8

Я использую JSF в своем проекте. Я использую контекстное меню из PrimeFaces. Я вижу в p:menuItem у нас есть action, actionListener, onclick методов. Поэтому мой вопрос: когда мне нужно использовать action, actionListner, onclick и каков порядок исполнения?JSF разница между действием, actionlistener, onClick

+0

По крайней мере частичный ответ: http://stackoverflow.com/questions/3909267/differences-between-action-and-actionlistener –

+0

Смотрите также: Другая часть: http://stackoverflow.com/a/ 9115951/757071 – 757071

ответ

15
  • onclick будет выполнена в первую очередь. Он используется для вызова функции javascript.

  • actionListener используется, если вы хотите получить какой-либо ajax-вызов метода
    . Этот метод должен иметь тип возврата void, метод либо принимает ActionEvent как аргумент, либо не имеет аргумента; он может также использоваться для вызова без аякса, но затем страница будет обновлена.

  • action предназначенный для перехода на другую страницу; метод должен иметь тип возврата String.

2

Этот вопрос задан раньше. Действие используется, когда вы хотите вызвать метод в своем фоновом режиме. например

action="#{myBean.myMethod}" 

код для бина будет как

@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 это ... я использовал его только для целей пользовательского интерфейса, например, закрыть диалоговое окно по нажатию кнопки

<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> 

ТАКЖЕ

Differences between action and actionListener

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