Página resultado de seleção

4 respostas
B

Srs,

Quero criar uma table num JSP, com os dados de um objeto List obtido da camada de negócios. Alguem tem um exemplo prático?

Grato,
Buosi.

4 Respostas

M

ta com problemas em bindar essa list no request pra varrer no jsp depois? Bem, no servlet, pode fazer:

request.setAttribute( "myList", list );
request.getRequestDispatcher( "foo.jsp" ).forward( request, responde );

e no foo.jsp:

<%

   List list = ( List ) request.getAttribute( "myList" );

%>

ai é só iterar :joia:

B

Matheus,

Funcionou legal do modo que você indicou. Mas o ideal é usar tags JSTL, certo? Tentei usar a c:forEach, mas não funcionou:

Action (sem alteração):

request.setAttribute(cias”,list);

return mapping.findForward(success);

JSP:

<c:forEach var="jspList" items="${cias}">
  <tr> 
    <td><c:out value="${jspList.ciaid}" />&nbsp</td>
    <td><c:out value="${jspList.descr}" />&nbsp</td>
  </tr>
</c:forEach>

(“ciaid” e “descr” são as propriedades da classe do bean utilizado)

Estou fazendo errado?

Grato,
Buosi.

[size=“11”]
[color=“red”]

  • Editado: Lembre-se de usar BBCode em seus códigos para mantê-los identados e mais legíveis para outros usuários - Matheus[/color][/size] :joia:
M

Certo. Hum, mas assim batendo o olho rápido não vejo nenhum erro no teu jsp. Certifique-se de que esse atributo list venha realmente populado no teu request, pra executar o <c:forEach/>.

A proposito, tu pode faze isso sem o <c:out/>, chamando diretamente com a EL:

...
  &lt;td&gt;$&#123;jspList.ciaid&#125;&lt;/td&gt;
  &lt;td&gt;$&#123;jspList.descr&#125;&lt;/td&gt; 
...
B

Sim, é possível usar sem o c:out, mas aí “suja” a tela de visualização do Dreamweaver, com o c:out não acontece isso…

A lista está sendo populada, pois eu testei com uma classe Java normal, e os dados vieram na console. Mas eu fiz um workaround usando scriptlet, como você indicou anteriormente, e troco assim que descobrir o problema. Provavelmente, é um erro de principiante. Eu chego lá

Grato pela ajuda.
Buosi.

Criado 16 de agosto de 2005
Ultima resposta 17 de ago. de 2005
Respostas 4
Participantes 2