我有一个jsf 2.2应用程序(myfaces 2.2.8)。在页面上,我有来自不同的(jsf:include
)facelet文件的多个表单。
在一个文件中,表单定义为<f:event type="postValidate"...>
标记。在另一个包含文件中,另一个表单仅使用提交按钮定义。
单击此按钮会触发f:event
中定义的侦听器。为什么?
答案 0 :(得分:1)
f:event
标记未绑定到任何表单。它只是告诉JSF在声明type
的事件发生时调用侦听器的标记,无论视图在何处。因此,它是在提交任何表单时调用的预期行为。无论如何,您可以将源表单抓取到侦听器中:
public void listener(ComponentSystemEvent evt) {
//Get the source form
evt.getSource();
}
另见: