Jstl + hastable?

4 respostas
M

Tenho um servlet q realiza a consulta ao banco e monta uma hastable com o resultado,mas qdo tento utiliza a tag forEach do jstl não imprime nada.

. . .  
 <% hsServidor = (Hashtable)request.getAttribute("servidores");%>
 <c:forEach var="i" items="${hs}>}">
        <c:out value="${i}"/>
  </c:forEach>
. . .

Por que não consigo imprimir o resultado??

4 Respostas

M

qual o erro q dá? O JSTL ta funcionando direitinho ai?

G

“marciomarc”:
Tenho um servlet q realiza a consulta ao banco e monta uma hastable com o resultado,mas qdo tento utiliza a tag forEach do jstl não imprime nada.

. . .  
 <% hsServidor = (Hashtable)request.getAttribute("servidores");%>
 <c:forEach var="i" items="${hs}>}">
        <c:out value="${i}"/>
  </c:forEach>
. . .

Por que não consigo imprimir o resultado??

Tem certeza que seu hashtable está vindo populado ?

:wink:

M

tente substituir por:

<c:forEach var="i" items="${servidores}>}"> <c:out value="${i}"/> </c:forEach>

se você tiver setado o atributo com um hashtable com elementos irá funcionar.

:okok:

M

O hashtable era preenchido em um servlet e colocado no objeto request,
request.setAttribute(“myhash”,temp), e enviado para uma jsp.Encontrei duas soluções,a primeira foi:

<jsp:useBean id=“lista” class=“java.util.ArrayList”>

<%

lista.add(Um);

lista.add(Dois);

lista.add(teste);

%>

</jsp:useBean>

<c:forEach items="${lista}" var=“valor” >

<c:out value="${valor}"/>

</c:forEach>

mas so funciona so o bean for inicializado,a segunda foi o que realmente funcionou como eu esperava:

<c:forEach var=“temp” items="${requestScope.myhash}">

<c:out value="${temp.key}"/>

</c:forEach>
Criado 11 de julho de 2005
Ultima resposta 12 de jul. de 2005
Respostas 4
Participantes 4