JSF和f:用于隐藏/显示div的ajax

我正在考虑在我的Web应用程序上创建一个隐藏/可显示的菜单。 在此之前,我为此目的广泛使用PHP和AJAX。 但是,由于HTML元素id在JSF框架中重新生成,我发现这种方法至少在我的范围内不再可行。

我在JSF中读过f:ajax标签并尝试实现它。 显然没有运气给我。 它看起来很容易,但我仍然无法找出我做错了什么。

我准备了一个原型来测试f-ajax标签function,但没有运气。 这是代码

`                 ` 

当我点击特定标签时,没有任何事情发生。 textA,textB和textC元素已经在第一时间呈现。 我做错了什么人?

提前致谢。

但是,由于HTML元素id在JSF框架中重新生成

如果这非常重要,请自己指定固定id 。 每个组件都有一个id属性。 这样,您应该能够在适用的时候使用普通的JS / jQuery框架。

至于具体问题中的问题,这里有一个可以帮助你入门的工作实例。

   


与…结合

 @ManagedBean @ViewScoped public class Bean { private String show; public String getShow() { return show; } public void setShow(String show) { this.show = show; } } 

阅读你的代码我首先会给出一些一般性的建议:

  • 据我所知,ajax适用于输入元素,但不适用于outputLabel 。 请改用h:commandLink或h:commandButton
  • outputText不应该在outputLabel 。 这里不需要outputLabel
  • 除非您使用呈现的属性,否则始终显示底部的outputText元素: 。 您可以使用某些EL表达式使render-attribute成为条件。

我认为最好的方法是从Java-EE-Tutorial开始学习jsf的基本概念。