PanelMenu dinâmicos

5 respostas
pintasart

Boas.

Sou novo no JSF e nao consigo resolver o seguinte problema:

Pretendo ter um menu que liste um conjunto de categorias de forma dinâmica, para tal estou a fazer o seguinte:

<h:form id="form">
    <h:panelGrid columns="2"  width="100%">
    <rich:panelMenu   mode="ajax"
        iconExpandedGroup="disc" iconCollapsedGroup="disc" 
        iconExpandedTopGroup="chevronUp" iconGroupTopPosition="right" 
        iconCollapsedTopGroup="chevronDown" >
    

       <c:forEach  items="#{nomeClasse.metodoQueRetornaArrayList/Array_DeStrings}" var="var"  > 

       
        <rich:panelMenuGroup label="#{var}">
        
            <rich:panelMenuItem label="qqCoisa" action="#{rssBean.noaction}">
            </rich:panelMenuItem>


        </rich:panelMenuGroup>

        </c:forEach>

        
    </rich:panelMenu>
    </h:panelGrid>
    </h:form>

mas dá-me o seguinte erro:

javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Don’t know how to iterate over supplied “items” in <forEach>

Já tentei com dataTable e dataList mas aí da-me erros de conversões.

O que aconselham?

5 Respostas

pintasart

Boas.

Ainda não consegui resolver o problema mas entretanto surgiu outra duvida:

Quando faço isto:

<c:forEach  items="#{nomeClasse.metodoQueRetornaArrayList/Array_DeStrings}" var="var"  >

a variavel “var” tem que representar um objecto de uma classe Bean? Não pode ser simplesmente Strings?

Agradecia uma ajuda.

rogeriuslima

Cara, tenta assim:

<c:forEach var="var" items="${seuBean.metodo}">
pintasart

Desse modo deu

vanilton.coelho

No lugar de $, utilize #

pintasart

Nesse caso depois não aparece texto no componente. Estou a fazer deste modo:

<h:form id="form">
		<h:panelGrid columns="2" width="100%">
			<rich:panelMenu mode="ajax">

				<c:forEach var="var" items="${rssBean.categoryBean}">

					<rich:panelMenuGroup label="#{var.name}">

						<c:forEach var="feed" items="${rssBean.rssFeed}">

							<rich:panelMenuItem label="#{feed.name}" action="#{rssBean.noaction}">
								<f:param name="xxx" value="xxxx" />
							</rich:panelMenuItem>

						</c:forEach>
					</rich:panelMenuGroup>

				</c:forEach>

			</rich:panelMenu>

		</h:panelGrid>
	</h:form> <br />
Já agora, é obrigatório que os objectos da lista sejam do tipo Bean?
Criado 4 de maio de 2009
Ultima resposta 6 de mai. de 2009
Respostas 5
Participantes 3