Galera não consigo listar os elementos de um ArrayList…
Dá uma ajuda…
Segue a classe Grupo
//ESTA FUNCIONANDO PERFEITAMENTE....
package br.com.anuncios.modelo;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
import org.hibernate.annotations.IndexColumn;
import org.hibernate.engine.Cascade;
@Entity @Table(name="TBL_GRUPO")
public class Grupo {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id_grupo")
private int id;
private String descricao;
private int ativo=1;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name="id_grupo")
private List<SubGrupo> subGrupos;
public Grupo(){
subGrupos=new ArrayList<SubGrupo>();
}
public List<SubGrupo> getLista() {
return this.subGrupos;
}
public List<SubGrupo> getListaAtivo() {
List<SubGrupo> temp=new ArrayList<SubGrupo>();
for (SubGrupo sub : this.subGrupos) {
if(sub.getAtivo()!=0){
temp.add(sub);
}
}
return temp;
}
public void addSubGrupo(SubGrupo subGrupo){
this.subGrupos.add(subGrupo);
}
public void setSubGrupos(List<SubGrupo> subGrupos) {
this.subGrupos=subGrupos;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public int getAtivo() {
return ativo;
}
public void setAtivo(int ativo) {
this.ativo = ativo;
}
}
Segue a classe DAO:
//ESTAO FUNCIONANDO CORRETAMENTE TODAO OS METODOS
package br.com.anuncios.dao;
import java.util.Date;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Transaction;
import org.hibernate.classic.Session;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import br.com.anuncios.mail.ClienteDeEmail;
import br.com.anuncios.modelo.Anunciante;
import br.com.anuncios.modelo.Grupo;
import br.com.anuncios.util.HibernateUtil;
public class GrupoDAO {
private Session session = (Session) HibernateUtil.getSession();
public void cadastra(Grupo grupo){
if(this.procura(grupo)==null){
Transaction tx = null;
tx = session.beginTransaction();
session.save(grupo);
tx.commit();
}else{
System.out.println("Grupo ja cadastrado...");
}
}
public void remove(Grupo grupo){
grupo.setAtivo(0);
for(int i=0;i<=grupo.getLista().size()-1;i++){
grupo.getLista().get(i).setAtivo(0);
}
this.alterar(grupo);
}
public void alterar(Grupo grupo){
Transaction tx = null;
tx = session.beginTransaction();
session.update(grupo);
tx.commit();
}
public Grupo procura(Grupo grupo){
Criteria c = session.createCriteria(Grupo.class);
c.add(Restrictions.or(Restrictions.eq("id", grupo.getId()),Restrictions.eq("descricao", grupo.getDescricao())));
c.add(Restrictions.eq("ativo", 1));
if(c.list().size()==0 || c.list().size()>1){
return null;
}
else{
return (Grupo) c.list().get(0);
}
}
public String getTeste(){
return "abc";
}
public List<Grupo> getLista(){
Criteria c = session.createCriteria(Grupo.class);
c.add(Restrictions.eq("ativo", 1));
return c.list();
}
}
Segue a parte da página web (Struts + Hibernate)
<jsp:useBean id="dao" class="br.com.anuncios.dao.GrupoDAO" />
<c:forEach var="grupo" items="${dao.lista}">
<li>
Descricao:${grupo.descricao}
</li>
</c:forEach>
Não funciona, segue o erro:
exception
javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Se eu tirar o ForEach ele funciona normalmente,
segue um exemplo que funciona:
<jsp:useBean id="dao" class="br.com.anuncios.dao.GrupoDAO" />
<c:set var="grupo" value="${dao.lista}" />
Descricao:${grupo[0].descricao}<br>
Descricao:${grupo[1].descricao}
Galera não sei o que fazer mas acredito que seja muito simples para vcs…