Java 如何在jsp中显示从hibernate查询获得的列表

Java 如何在jsp中显示从hibernate查询获得的列表,java,hibernate,jsp,struts2,xml-configuration,Java,Hibernate,Jsp,Struts2,Xml Configuration,我正在创建一个struts hibernate应用程序。我使用hibernate查询获得了一个列表,并在action类中传递了它。但我不知道如何在JSP中显示它 我已经在查询的基础上成功地获取了列表。 现在我想在JSP中显示这个列表 我已经发布了struts.xml和显示结果的JSP。 请查收。但是在JSP中什么都没有出现。 我正在使用s:iterate显示列表。但是没有运气。 甚至我也尝试过在s:iterate下打印简单文本,只是为了测试。 但它也没有出现 POJO类: package org

我正在创建一个struts hibernate应用程序。我使用hibernate查询获得了一个列表,并在action类中传递了它。但我不知道如何在JSP中显示它

我已经在查询的基础上成功地获取了列表。 现在我想在JSP中显示这个列表

我已经发布了
struts.xml
和显示结果的JSP。 请查收。但是在JSP中什么都没有出现。 我正在使用
s:iterate
显示列表。但是没有运气。 甚至我也尝试过在
s:iterate
下打印简单文本,只是为了测试。 但它也没有出现

POJO类:

package org.sachin.Model;

import java.sql.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;

@Entity
@Table(name="feed")
public class FeedBack {

private FeedBack feedback;
 private int taste;
 private int waiter;
 private int infra;
 private int price;

 private int id;

 private Date date=new java.sql.Date(new java.util.Date().getTime());
public int getTaste() {
    return taste;
}
public void setTaste(int taste) {
    this.taste = taste;
}
public int getWaiter() {
    return waiter;
}
public void setWaiter(int waiter) {
    this.waiter = waiter;
}
public int getInfra() {
    return infra;
}
public void setInfra(int infra) {
    this.infra = infra;
}
public int getPrice() {
    return price;
}
public void setPrice(int price) {
    this.price = price;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}


@Temporal(javax.persistence.TemporalType.DATE)
public Date getDate() {
    return date;
}
public void setDate(Date date) {
    this.date = date;
}
public FeedBack getFeedback() {
    return feedback;
}
public void setFeedback(FeedBack feedback) {
    this.feedback = feedback;
}


}
package org.sachin.action;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.sachin.Model.Datepicker;
import org.sachin.Model.FeedBack;
import org.sachin.hibernate.DateSpecific;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class SelectDateAction extends ActionSupport {

    /**
     * 
     */
private static final long serialVersionUID = -8922465133057293868L;
private Datepicker datepicker;
private List<FeedBack> list =new ArrayList<>();;

    public List<FeedBack> getList() {
    return list;
}
public void setList(List<FeedBack> list) {
    this.list = list;
}
    public String execute(){

        String date=getDatepicker().getDate1();


        DateSpecific da=new DateSpecific();

         list=da.find(date);
         for(FeedBack feed:list){
             System.out.println("price");
             System.out.println(feed.getPrice());


         }

        System.out.println("hi"+date);

        return SUCCESS;
    }


    public Datepicker getDatepicker() {
        return datepicker;
    }
    public void setDatepicker(Datepicker datepicker) {
        this.datepicker = datepicker;
    }

}
public List<FeedBack> find(String Date) {


                //  Transaction t=session.beginTransaction(); 

            String SQL_QUERY = " from FeedBack where date='"+Date+"'";
            System.out.println("i am in hiber");
            System.out.println(SQL_QUERY);
            org.hibernate.Query query = session.createQuery(SQL_QUERY);
            List<FeedBack> list = query.list();
          for(FeedBack f:list){
              System.out.println("price");
              System.out.println(f.getPrice());
          }
            return list;

        }
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<s:form>
<body>
 <h1>Struts 2 Iterator tag example</h1>

<h3>Simple Iterator</h3>
<ol>
<s:iterator value="list">
 HE<li><s:property /></li>
</s:iterator>
</ol>
  </body>
  </s:form>
  </html>
动作类:

package org.sachin.Model;

import java.sql.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;

@Entity
@Table(name="feed")
public class FeedBack {

private FeedBack feedback;
 private int taste;
 private int waiter;
 private int infra;
 private int price;

 private int id;

 private Date date=new java.sql.Date(new java.util.Date().getTime());
public int getTaste() {
    return taste;
}
public void setTaste(int taste) {
    this.taste = taste;
}
public int getWaiter() {
    return waiter;
}
public void setWaiter(int waiter) {
    this.waiter = waiter;
}
public int getInfra() {
    return infra;
}
public void setInfra(int infra) {
    this.infra = infra;
}
public int getPrice() {
    return price;
}
public void setPrice(int price) {
    this.price = price;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}


@Temporal(javax.persistence.TemporalType.DATE)
public Date getDate() {
    return date;
}
public void setDate(Date date) {
    this.date = date;
}
public FeedBack getFeedback() {
    return feedback;
}
public void setFeedback(FeedBack feedback) {
    this.feedback = feedback;
}


}
package org.sachin.action;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.sachin.Model.Datepicker;
import org.sachin.Model.FeedBack;
import org.sachin.hibernate.DateSpecific;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class SelectDateAction extends ActionSupport {

    /**
     * 
     */
private static final long serialVersionUID = -8922465133057293868L;
private Datepicker datepicker;
private List<FeedBack> list =new ArrayList<>();;

    public List<FeedBack> getList() {
    return list;
}
public void setList(List<FeedBack> list) {
    this.list = list;
}
    public String execute(){

        String date=getDatepicker().getDate1();


        DateSpecific da=new DateSpecific();

         list=da.find(date);
         for(FeedBack feed:list){
             System.out.println("price");
             System.out.println(feed.getPrice());


         }

        System.out.println("hi"+date);

        return SUCCESS;
    }


    public Datepicker getDatepicker() {
        return datepicker;
    }
    public void setDatepicker(Datepicker datepicker) {
        this.datepicker = datepicker;
    }

}
public List<FeedBack> find(String Date) {


                //  Transaction t=session.beginTransaction(); 

            String SQL_QUERY = " from FeedBack where date='"+Date+"'";
            System.out.println("i am in hiber");
            System.out.println(SQL_QUERY);
            org.hibernate.Query query = session.createQuery(SQL_QUERY);
            List<FeedBack> list = query.list();
          for(FeedBack f:list){
              System.out.println("price");
              System.out.println(f.getPrice());
          }
            return list;

        }
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<s:form>
<body>
 <h1>Struts 2 Iterator tag example</h1>

<h3>Simple Iterator</h3>
<ol>
<s:iterator value="list">
 HE<li><s:property /></li>
</s:iterator>
</ol>
  </body>
  </s:form>
  </html>
这是我用来显示列表的JSP

iterate.jsp

package org.sachin.Model;

import java.sql.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;

@Entity
@Table(name="feed")
public class FeedBack {

private FeedBack feedback;
 private int taste;
 private int waiter;
 private int infra;
 private int price;

 private int id;

 private Date date=new java.sql.Date(new java.util.Date().getTime());
public int getTaste() {
    return taste;
}
public void setTaste(int taste) {
    this.taste = taste;
}
public int getWaiter() {
    return waiter;
}
public void setWaiter(int waiter) {
    this.waiter = waiter;
}
public int getInfra() {
    return infra;
}
public void setInfra(int infra) {
    this.infra = infra;
}
public int getPrice() {
    return price;
}
public void setPrice(int price) {
    this.price = price;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}


@Temporal(javax.persistence.TemporalType.DATE)
public Date getDate() {
    return date;
}
public void setDate(Date date) {
    this.date = date;
}
public FeedBack getFeedback() {
    return feedback;
}
public void setFeedback(FeedBack feedback) {
    this.feedback = feedback;
}


}
package org.sachin.action;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.sachin.Model.Datepicker;
import org.sachin.Model.FeedBack;
import org.sachin.hibernate.DateSpecific;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class SelectDateAction extends ActionSupport {

    /**
     * 
     */
private static final long serialVersionUID = -8922465133057293868L;
private Datepicker datepicker;
private List<FeedBack> list =new ArrayList<>();;

    public List<FeedBack> getList() {
    return list;
}
public void setList(List<FeedBack> list) {
    this.list = list;
}
    public String execute(){

        String date=getDatepicker().getDate1();


        DateSpecific da=new DateSpecific();

         list=da.find(date);
         for(FeedBack feed:list){
             System.out.println("price");
             System.out.println(feed.getPrice());


         }

        System.out.println("hi"+date);

        return SUCCESS;
    }


    public Datepicker getDatepicker() {
        return datepicker;
    }
    public void setDatepicker(Datepicker datepicker) {
        this.datepicker = datepicker;
    }

}
public List<FeedBack> find(String Date) {


                //  Transaction t=session.beginTransaction(); 

            String SQL_QUERY = " from FeedBack where date='"+Date+"'";
            System.out.println("i am in hiber");
            System.out.println(SQL_QUERY);
            org.hibernate.Query query = session.createQuery(SQL_QUERY);
            List<FeedBack> list = query.list();
          for(FeedBack f:list){
              System.out.println("price");
              System.out.println(f.getPrice());
          }
            return list;

        }
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<s:form>
<body>
 <h1>Struts 2 Iterator tag example</h1>

<h3>Simple Iterator</h3>
<ol>
<s:iterator value="list">
 HE<li><s:property /></li>
</s:iterator>
</ol>
  </body>
  </s:form>
  </html>

Struts 2迭代器标记示例
简单迭代器
他
  • 我已经在查询的基础上成功地获取了列表。 现在我想在JSP中显示此列表。

    使用标记:

    迭代器将迭代一个值。iterable值可以是以下任意值:
    java.util.Collection
    java.util.Iterator
    java.util.Enumeration
    java.util.Map
    ,或数组

    代码:

    package org.sachin.Model;
    
    import java.sql.Date;
    
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;
    import javax.persistence.Temporal;
    
    @Entity
    @Table(name="feed")
    public class FeedBack {
    
    private FeedBack feedback;
     private int taste;
     private int waiter;
     private int infra;
     private int price;
    
     private int id;
    
     private Date date=new java.sql.Date(new java.util.Date().getTime());
    public int getTaste() {
        return taste;
    }
    public void setTaste(int taste) {
        this.taste = taste;
    }
    public int getWaiter() {
        return waiter;
    }
    public void setWaiter(int waiter) {
        this.waiter = waiter;
    }
    public int getInfra() {
        return infra;
    }
    public void setInfra(int infra) {
        this.infra = infra;
    }
    public int getPrice() {
        return price;
    }
    public void setPrice(int price) {
        this.price = price;
    }
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    
    
    @Temporal(javax.persistence.TemporalType.DATE)
    public Date getDate() {
        return date;
    }
    public void setDate(Date date) {
        this.date = date;
    }
    public FeedBack getFeedback() {
        return feedback;
    }
    public void setFeedback(FeedBack feedback) {
        this.feedback = feedback;
    }
    
    
    }
    
    package org.sachin.action;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    
    import org.sachin.Model.Datepicker;
    import org.sachin.Model.FeedBack;
    import org.sachin.hibernate.DateSpecific;
    
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionSupport;
    
    public class SelectDateAction extends ActionSupport {
    
        /**
         * 
         */
    private static final long serialVersionUID = -8922465133057293868L;
    private Datepicker datepicker;
    private List<FeedBack> list =new ArrayList<>();;
    
        public List<FeedBack> getList() {
        return list;
    }
    public void setList(List<FeedBack> list) {
        this.list = list;
    }
        public String execute(){
    
            String date=getDatepicker().getDate1();
    
    
            DateSpecific da=new DateSpecific();
    
             list=da.find(date);
             for(FeedBack feed:list){
                 System.out.println("price");
                 System.out.println(feed.getPrice());
    
    
             }
    
            System.out.println("hi"+date);
    
            return SUCCESS;
        }
    
    
        public Datepicker getDatepicker() {
            return datepicker;
        }
        public void setDatepicker(Datepicker datepicker) {
            this.datepicker = datepicker;
        }
    
    }
    
    public List<FeedBack> find(String Date) {
    
    
                    //  Transaction t=session.beginTransaction(); 
    
                String SQL_QUERY = " from FeedBack where date='"+Date+"'";
                System.out.println("i am in hiber");
                System.out.println(SQL_QUERY);
                org.hibernate.Query query = session.createQuery(SQL_QUERY);
                List<FeedBack> list = query.list();
              for(FeedBack f:list){
                  System.out.println("price");
                  System.out.println(f.getPrice());
              }
                return list;
    
            }
    
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <s:form>
    <body>
     <h1>Struts 2 Iterator tag example</h1>
    
    <h3>Simple Iterator</h3>
    <ol>
    <s:iterator value="list">
     HE<li><s:property /></li>
    </s:iterator>
    </ol>
      </body>
      </s:form>
      </html>
    
    
    价格:

    您已经全局声明了
    列表变量

      private List<FeedBack> list =new ArrayList<FeedBack>();//Getter & Setter Method.
    
    private List=new ArrayList()//Getter和Setter方法。
    
    并且需要所有的Getter和Setter方法,并在本地删除您的重新声明

    List List=query.List()更改为
    list=(list)query.list()和转换应该是必需的

    在jsp页面中添加struts库,最后

     <s:iterator value="list"/>
          Price: <s:property value="price"/><br>
     </s:iterator> 
    
    
    价格:

    请检查以下代码

    <s:iterator value="list" var="item"> 
    <s:property value="%{#item.price}" /> 
    </s:iterator> 
    
    
    
    我必须为price等字段创建getter和setter吗?我对使用迭代器感到困惑,因为即使文本price也没有显示出来,而jsp显示的是struts标记?您应该为
    price
    设置getter,如果您使用的是内部类
    FeedBack
    ,则应该将其设置为外部公共类。发布您的JSP和
    struts.xml
    s:form
    应该位于
    body
    标记内。在属性标记中,使用
    反馈
    对象的属性值。是否必须为价格字段创建getter和setter?我也对使用s:iterator感到困惑,因为连文本价格都没有显示。请帮助Naveen,然后我如何打印列表字段?Sachin请尝试使用此逻辑,这可能会起作用。Naveen不是工作人员,请查看我的action类。我认为我在那里做错了什么。不知道迭代器是如何工作的。请将列表数据与对象数据共享。重写反馈类中的toString()方法,然后发送列表数据。