我读过很多主要由BalusC写的答案,但仍然没有运气 所以我通过ajax渲染,在主页的一部分中包含一个页面并且它完美无缺,每当我点击主栏上的按钮时,子页面xhtml就显示在正确的位置。现在问题是我想在那个子页面中实现一个“selectOneMenu”,所以每当用户点击其中一个选项时,他就会被重定向到另一个xhtml,它应该出现在页面的同一部分(而不是上一页) 。我已经想过要解决的许多想法(包括条件渲染),但我相信必须有更简单,更正确的方法来解决它。也许JSF有一些可以使用的容器标签? PS 顺便说一句,这是我的第一篇文章,如果我没有说清楚,那就很抱歉。 UPDATE 在我看来,也许我应该以某种方式使用ajax onValueChange来读取值(通过actionListener?),因此当用户点击子页面时,主页面将读取值并使用新内容呈现部分。这甚至可能吗?
答案 0 :(得分:0)
您可以使用valueChange Listener获取新值,并使用FacesContext在bean中重定向页面,但如果您不希望刷新页面,请确保向selectonemenu添加ajax调用。
<h:selectOneMenu value="#{some.value}"
valueChangeListener="#{some.valuechanged}">
<f:ajax event="change" listener="#{some.listen}" />
</h:selectOneMenu>