我可以这样做:
<b:navLink ... onclick="ajax:callBeanMethodA;ajax:callBeanMethodB" />
就像那样不起作用,有什么方法可以让它起作用吗?
由于
答案 0 :(得分:0)
我猜你最好把这两个或多个方法调用合并到你的支持bean中的方便方法中。
通过这种方式,您还可以确保以一致的顺序调用它们:
public void combinedMethod() {
callBeanMethodA();
callBeanMethodB();
}
然后只需从您的侦听器调用单个便捷方法:
<b:navLink ... onclick="ajax:beanName.combinedMethod" />
这种方法的其他优点是更好的可读性和可重用性以及可维护性,因为您集中定义了组合逻辑。
答案 1 :(得分:0)
实际上,它确实有效。它比你想象的要简单一些。省略第二个ajax:
前缀,一切正常:
JSF标记:
<b:messages id="messages" />
<b:commandButton value="Click me!"
onclick="ajax:menuView.save();menuView.reload()"
update="@form">
</b:commandButton>
Java bean:
@ManagedBean
public class MenuView {
public void save() {
addMessage("Success", "Data saved");
}
public void reload() {
addMessage("Success", "reloaded");
}
}