For com Struts e JSP

2 respostas
Sandro.Santos

Olá galera,

Meu problema é que recebo de um Action um List e utilizo ele dentro de um iterator, mas dentro desse List existe outro List, ficou complicado

Segue o código:

Meu Action:

MateriaDAO materiaDAO = new MateriaDAO();

try {

request.getSession().setAttribute(“listamateriashome”,materiaDAO.listaMateriasHome(nredicao));

} catch (HibernateException e) {

e.printStackTrace();

}
Meu DAO:

public List listaMateriasHome(int edicao) throws HibernateException {

Sessao sessao = Sessao.getInstancia();

Session session = sessao.currentSession();

List lista = session.find(“select materia from Materia materia join materia.secao as secoes where materia.cd_edicao = " + edicao + " and secoes.ordemsite > 0 order by secoes.ordemsite asc”);

sessao.closeSession();

return lista;

}
Minha Classe:

private int cd_materia;

private Integer cd_secao;

private Integer cd_edicao;

private String ds_autor;

private String imagem_home;

private String textohome;

private Corpo corpo;

private List olhos;

private List fotos;

private List boxs;

private List perguntas;

private Secao secao;

Como deu para ver existem alguns atributos que são outros List.

O que preciso é imprimir um determinado número de elementos dentro do JSP. Por exemplo a materia 1 tem 10 fotos, mas quero imprimir comente as 4 primeiras, sendo assim pensei em criar um contador dentro do JSP para que possa fazer isso.

Não sei se é a melhor saída, mas se for, também não sei como criar um contador dentro do JSP.

[]s

2 Respostas

luiz_ross
Na tag logic:iterate do struts tem um parametro chamada index, ele serve para vc fazer exatamente isso que vc quer, um contador
Sandro.Santos

Valeu Luiz,

Utilizei o código abaixo seguindo sua sugestão e deu certo:

<logic:iterate name=“materias” property=“fotos” id=“foto” indexId=“index”>
<logic:lessEqual name=“index” value=“4”>

&lt;/logic:lessEqual&gt;

</logic:iterate>

Aproveitando, só mais uma dúvida. Segue o código:

<bean:write name=“materias” property=“textohome”/>

Estou utilizando isso para imprimir um campo texto, só que dentro dele existem informações HTML tipo:
<table>, só que ao invés dele executar essas informações ele imprimi na tela os comandos. Você sabe como resolver esse problema?

[]s

Criado 22 de fevereiro de 2005
Ultima resposta 22 de fev. de 2005
Respostas 2
Participantes 2