【发布时间】:2015-11-02 16:24:25
【问题描述】:
我需要帮助解决我项目中的这个常见问题。
我想使用我的类 bean 中的方法根据另一个列表 list1 中当前选择的值刷新值列表 list2,我还想使用 Ajax 而不是加载整个页面。 rerender 属性在 selectOneMenu 中不可用。
我试过了:
<h:selectOneMenu id="list1" value="#{bean.currentSelectedObject1}" onchange="submit()"
valueChangeListener="#{bean.methodAct}">
<f:selectItems value="#{bean.listObjects1}" />
</h:selectOneMenu>
应该更新的菜单:
<h:selectOneMenu id="list2" value="#{bean.currentSelectedObject2}">
<f:selectItems value="#{bean.listObjects2}" />
</h:selectOneMenu>
我想知道是否可以使用一些 Richfaces 标签来做到这一点,或者是否有其他方法。
更新:
建议的解决方案给了我一个错误:<a4j:ajax> Tag Library supports namespace: http://richfaces.org/a4j, but no tag was defined for name: ajax
我可以看到a4j:ajaxListener 只有type 属性但没有a4j:ajax,也没有任何类型的f:ajax,我看过here,但我使用的是JSF 2.2 而不是JSF 2.0。
谢谢
【问题讨论】:
-
那么,您使用的是已弃用的 JSP 视图技术,而不是其后续的 Facelets?这完全解释了为什么
<f:ajax>不适合你。它仅在 Facelets 中可用,在 JSP 中不可用。放弃 JSP 并迁移到 Facelets。寻求解决方法是徒劳的。 -
非常感谢@BalusC,只需将文件重命名为 *.xhtml 我就能找到
<f:ajax>!。