是什么区别action和actionListener,什么时候应该使用action与actionListener?
是否可以执行两种方法<h:commandButton>?
例如,
<h:commandButton action="#{bean.methodOne();bean.methodTwo();}" />
Run Code Online (Sandbox Code Playgroud) 有没有办法从JSF中的不同支持bean调用多个方法?
我有一个存储用户信息的应用程序.我有多个支持bean,分为计划,地址,电话等.
当应用程序最初加载时,所有工作都会找到,但由于我的所有视图都是类型@ViewScope,因此即使显示新用户,也会保留计划,地址,电话列表.
当用户离开他们正在查看的当前人时,我需要手动将日程表,地址和电话列表设置为null我需要在一个时间点调用每个托管bean中的方法(当用户点击时commandLink).
是否可以在一个commandLink上调用多个bean方法?
我正在使用Glassfish 3.1.2.2和JSF Mojarra 2.1.6.
我有以下Facelets页面:
<h:form>
<h:commandLink value="link">
<f:actionListener binding="#{backingBean.someMethod(1)}"/>
</h:commandLink>
</h:form>
Run Code Online (Sandbox Code Playgroud)
以下支持bean:
@RequestScoped
@ManagedBean
public class BackingBean {
public void someMethod(int i) {
System.out.println("It was called: " + i);
}
}
Run Code Online (Sandbox Code Playgroud)
当我单击链接时,控制台中出现"Info:It called called:1".
binding读取文档:
图书馆:http://xmlns.jcp.org/jsf/core,http://java.sun.com/jsf/core(Jsf Core)
标签:actionListener
捆绑
值绑定表达式,其值为实现javax.faces.event.ActionListener 的对象.[强调我的]
此外,该问题的接受答案表明,f:actionListener调用任意方法是不可能的.
如果不支持,为什么调用backing bean方法?