Ramesh
Ramesh

Reputation: 15

How to send list from action class to jsp page?

I am developing a application using struts & hibernate.In this case i wanna display result in jsp page from action class. From action class List store information & that List should be printed on jsp page. But i have only one pojo class which my action class & mapping of hibernate is done in the same class.

index.jsp ->MusicAction->a.jsp

package action;
import java.util.Iterator;
import java.util.List;
import java.util.Map;


import com.opensymphony.xwork2.ActionSupport;
@Action(value="Music")
@javax.persistence.Entity
@Table(name="item")
@Results({
    @Result(name="success",location="a.jsp"),
    @Result(name="error",location="b.jsp")
 })
public class MusicAction extends ActionSupport 
{

@Id
private int item_no;
private String item_Name;
private String item_type;
private float item_price;

public int getItem_no() {
    return item_no;
}
public void setItem_no(int item_no) {
    this.item_no = item_no;
}
public String getItem_Name() {
    return item_Name;
}
public void setItem_Name(String item_Name) {
    this.item_Name = item_Name;
}
public String getItem_type() {
    return item_type;
}
public void setItem_type(String item_type) {
    this.item_type = item_type;
}
public float getItem_price() {
    return item_price;
}
public void setItem_price(float item_price) {
    this.item_price = item_price;
}




@Override
public String execute() throws Exception {
    List l =getItem();

    System.out.println("in execute"+l);
    return "success";

}


public List getItem()
{   
    System.out.println("yah i m in getItem");

    Session session=new AnnotationConfiguration().configure("hibernate.cfg.xml").buildSessionFactory().openSession();

    Transaction t = session.beginTransaction();


    MusicAction m = new MusicAction();

    //System.out.println("configured");

    Query query = session.createQuery("from MusicAction");

    java.util.List list = query.list();
    Iterator it=list.iterator();
    while(it.hasNext())
    {
        m=(MusicAction)it.next();

        System.out.println(m.getItem_no()+"| "+m.getItem_Name()+"\t|"+m.getItem_type()+"\t"+m.getItem_price());
    }
    t.commit();
    session.close();


    return list;
   }

   }

how to access that List in a.jsp?

Upvotes: 0

Views: 1996

Answers (1)

hari
hari

Reputation: 1963

you are explained exact error.so,try this,

MusicAction.class

    public class MusicAction extends ActionSupport 
   {
    private List<Item> item=new ArrayList<Item>();//setter method.
    @Override
    public String execute() throws Exception {
      System.out.println("in execute"+item.size());
       return "success";
    }
    public List<Item> getItem(){ try{
            System.out.println("yah i m in getItem");
            Session session=new AnnotationConfiguration().configure("hibernate.cfg.xml").buildSessionFactory().openSession();
            Transaction t = session.beginTransaction();
            MusicAction m = new MusicAction();
            Query query = session.createQuery("from MusicAction");
            item = (List<Item>)query.list();
            t.commit();
            session.close();}catch(Exception e){}
         return item;}
    }

a.jsp

  <%@ taglib prefix="s" uri="/struts-tags" %>
  <s:iterator value="item"> 
      <s:property value="item_no" />
      <s:property value="item_Name" />
      <s:property value="item_type" />
      <s:property value="item_price" />
  </s:iterator>

Upvotes: 1

Related Questions