Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 如何生成动态富:面板菜单?_Jsf - Fatal编程技术网

Jsf 如何生成动态富:面板菜单?

Jsf 如何生成动态富:面板菜单?,jsf,Jsf,我在生成动态菜单时遇到问题,我使用的是JSF1.2。我尝试使用带有arrayList的c:forEach生成动态rich:panelMenu,正如BalusC在相关论坛中建议的那样,但在c:forEach中从未触发过get Accessor。它毁了我一天。谁能给我一个解决方案 <c:forEach items="#{serviceListBean.services}" var="child"> <rich:panelMenuItem mode="n

我在生成动态菜单时遇到问题,我使用的是JSF1.2。我尝试使用带有arrayList的c:forEach生成动态rich:panelMenu,正如BalusC在相关论坛中建议的那样,但在c:forEach中从未触发过get Accessor。它毁了我一天。谁能给我一个解决方案

 <c:forEach items="#{serviceListBean.services}" var="child">
              <rich:panelMenuItem mode="none">                  
                  <h:outputText value="#{child.serviceId}"></h:outputText>                                          
              </rich:panelMenuItem>
            </c:forEach>

这个代码有什么问题?谁能给我点化一下吗?。关于信息,serviceListBean是请求范围的bean。

两个可能的原因:

  • JSTL在JSP或Facelets中未声明为taglib。要确认这一点,请在浏览器中右键单击“页面”,然后选择“查看源”。您是否看到生成的HTML中未解析的
    标记?如果您使用的是JSP,请按如下方式声明:

    <%@taglib prefic="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
    在一些像Tomcat这样的服务器上,您还需要先安装JSTL,而Tomcat并没有附带JSTL

  • 这段代码依次被放置在JSF重复组件中,比如带有
    var=“serviceListBean”
    。这也是行不通的。您还需要用
    替换JSF重复组件


  • gr8 BalusC,用你的第一个解决方案解决。我使用了错误的taglib uri,现在改为,开始工作。也有人引用了这个,他用过,他下定决心了。这让我放心,没问题。所以,如果巴卢斯说,我从来没有想过要改变。为什么会出现这种混乱?记录在哪里?
    xmlns:c="http://java.sun.com/jsp/jstl/core"