Dúvida de Spring/JSLT

2 respostas
tatianaesc

Pessoal,

Estou implementando um projeto simples com Spring MVC com JSLT. É uma biblioteca e já estou conseguindo fazer as consultas simples, como listar todos os livros e usuários.

Tem também o conceito de exemplares, ou seja, cada livro tem x exemplares. Eu estou precisando listar cada livro da minha biblioteca com os seus respectivos exemplares. Cada exemplar tem como atributo o código do livro correspondente.

A listagem de todos os livros da bibli vem do meu controller (em model.book) está ok e eu fiz assim:

<c:forEach items="${model.books}" var=“book”>
<c:out value=“Id: ${book.matId}”/>

Eu tenho um método q filtra os meus exemplares por id do material, mas não sei como fazer com spring/jstl uma forma de pegar o “matId” do livro e usar para comparar com o id do exemplar. Eu tinha pensado em colocar isto dentro do meu primeiro for:

<c:forEach items="${model.exemplars}" var=“exemplar”>

<c:if test="${book.matId}.equals(${book.matId})"> 	

<c:out value=“Exemplar: ${exemplar.matId}”/>


</c:if>

</c:forEach>

Acredito que isso funcione, mas pra ter a lista dos exemplares filtrados (model.exemplars) eu chamo o método:

public List getExemplarsByMaterial( String matId, List allExemplars );

Ou seja, o que eu preciso é a cada livro da minha biblioteca, chamar o método getExemplarsByMaterial para que ele me gere a lista dos exemplares do livro. Mas como fazer isso com JSLT/Spring?

Ficou claro? Alguém tem alguma sugestão? Estou acostumada a trabalhar sem Spring/JSLT, mas gostaria de fazer usando estas tecnologias.

Obrigada,
Tatiana

2 Respostas

kartler

Não sei se entendi muito bem, mas porque você não joga essas infomações no seu View já processadas no “controller” ? ou seja o controller chama um metodo de uma class X responsavel por pegar essas dados no DB fazendo um select duplo e retornando uma lista pra vc percorrer na view.

<c:forEach items="${lista}" var="exemplar">
    Exemplar: ${exemplar.matId} Qtd de exeplares: ${exemplar.qtd} prateleira ${exemplar.prateleira}

</c:forEach>

eu creio que assim seja mais simples.
“supondo que os dados estão em 2 tabelas”

:wink:

tatianaesc

Eh, foi oq eu acabei fazendo…

Mas eu queria fazer uma coisa que nem sei se da, eu queria chamar um metodo no meu jsp… Mas ficou bom assim hehehe

Obrigada!

Criado 2 de maio de 2006
Ultima resposta 3 de mai. de 2006
Respostas 2
Participantes 2