首先测试下${menu.name},能不能输出;
如果能够输出:
<h:outputText  value="#{menu.name}"/> 这样写

解决方案 »

  1.   

    <h:outputText  value="#{menu.name}"/> 
    这样不行,试过,我用A4J的repeat和facelets的repeat标签都可以输出"#{show.items}" 中所有项的值,
    就是用c:foreach不行 
      

  2.   

    另外,JDK5.0以上都已经包含了JSF1.2的运行JAR,为什么在JDK5.0和6.0上运行JSF程序还要JSF的JAR呢?
      

  3.   

    <c:forEach  var="menu" items="#{show.items}"  > 
      <h:outputText id="menu" value="#{menu.name}"/> 
    </c:forEach>
    JSTL是用${}来取值。JSF是用#{}。用${}能取到的值,#{}不一定能取到。反过来也是一样的。 
    如果你想用循环的话,最好用JSF的扩展标签库,例如MyFaces里面的<dataList>。标准标签库里面,只能用dataTable。
    或者你就直接用JSTL
      

  4.   

    晕倒,是JSTL问题,使用c="http://java.sun.com/jstl/core"就可以了
    原来是用c="http://java.sun.com/jsp/jstl/core"系统默认,害死人
      

  5.   

    呵呵,解决就好,说实话,用过JSF的人越来越少了;
    如果说struts2能替代JSF,几乎8可能,JSF比struts2强大不是一点半点;
    不过JSF使用的比较繁琐,呵呵,楼主加油啦;
    个人比较喜欢JSF,可惜很少人用,叹气