当前位置: 首页 > 知识库问答 >
问题:

如何在 JSP 中显示从Hibernate查询获得的列表

长孙玉泽
2023-03-14

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

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

我已经发布了<code>支柱。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;
    }

}

Hibernate类:

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;

        }

这是我的支柱.xml其中定义了所有动作。目前,操作是 ByDate

< code>struts.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>

    <constant name="struts.devMode" value="true" />
<!--    <constant name="struts.action.excludePattern" value="/ServletToExcludeFromStruts*" />
 -->
    <include file="login.xml"></include>
    <include file="AdminLogin.xml"></include>
    <include file="Feedback.xml"></include>
    <include file="NewUser.xml"></include>
    <include file="feedback.xml"></include>
    <include file="expression.xml"></include>
    <include file="logout.xml"></include>

    <package name="helloworld" namespace="/tut" extends="struts-default">
        <action name="add" class="org.sachin.action.EditAdminAction"
            method="execute">
            <result name="success">/JSP/success.jsp</result>
            <result name="error">/JSP/AdminUserNameExists.jsp</result>

        </action>

    </package>

     <package name="serve" namespace="/tut" extends="struts-default">

        <action name="ByDate" class="org.sachin.action.SelectDateAction"
            method="execute">
            <result name="success" type="redirect">/JSP/iterate.jsp</result>
            <result name="error" type="redirect">/JSP/FeedBack.jsp</result>
            <result name="input" type="redirect">/JSP/Rateus.jsp</result>

        </action>
    </package>


</struts>

这是我显示列表的JSP

iterate.jsp

<%@ 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显示这个列表。

共有3个答案

许淳
2023-03-14

您已经全局声明list变量

  private List<FeedBack> list =new ArrayList<FeedBack>();//Getter & Setter Method.

需要盖特

列表

jsp页面中添加struts库,

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

邢鸿博
2023-03-14

使用迭代器标记:

迭代器将迭代一个值。可迭代值可以是以下任意值:java.util.集合java.util.迭代器java.util.枚举java.util.地图或数组。

代码:

<s:iterator value="list"/>
  Price: <s:property value="price"/><br>
</s:iterator> 
益智明
2023-03-14

请使用以下代码进行检查。

<s:iterator value="list" var="item"> 
<s:property value="%{#item.price}" /> 
</s:iterator> 
 类似资料:
  • 我是新手,请帮助解决这个问题,这里我需要使用jstl在jsp中显示数组列表中的数据。我创建了一个utill类,它从数据库中获取数据并在bean中设置值,我将该bean添加到arraylist中,就像 并将数组列表返回给Modelandview mylist方法,在该方法中将数组列表传递给jsp使用 在jsp中,我访问数组列表,如 (其中,assetnumber是我从bean获得的值)。我的问题是如

  • 我试图获得一个返回“加权分数”的表,该表带有我为以下模式的每种类型设计的公式: 收藏夹:userID,drinkName 然而,这只返回特定类型的饮料,而不是每种类型的饮料的表。

  • 在hive中,我们可以“在table_name中显示列”,只获取表的列名,但我希望查询只显示Impala中表的列名,如何才能获取Impala中表的列名呢?

  • 问题内容: 如果我的查询包含一个类,例如: 然后我迭代它,那里是一个类的对象。 那么如何从包含多个类的查询中获取结果呢?例如: 问题答案: for (Object[] result : query.list()) { User user = (User) result[0]; Group group = (Group) result[1]; }

  • 问题内容: 我只是想知道我是否有可能在Pygame中获得显示器的分辨率,然后使用这些尺寸创建一个窗口,以便启动程序来检测显示器的分辨率,然后将窗口自动适合全屏显示。 我目前正在使用该窗口。我知道您可以使用来获得包括显示器分辨率在内的视频信息,但是如何提取这些值,然后在???中使用它们呢? 在此先感谢Ilmiont 问题答案: 您可以使用: 该文件说: current_h,current_w:当前视

  • 我遵循本教程,了解Spring Boot Web应用程序中的登录和注册功能:https://hellokoding.com/registration-and-login-example-with-spring-security-spring-boot-spring-data-jpa-hsql-jsp/ 我无法正确显示视图,而不是注册。jsp视图页面中,我在屏幕上看到以下字符串,该字符串由我的GET