Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我通过hibernate从数据库查询数据时,值为';不正确_Java_Hibernate_Spring - Fatal编程技术网

Java 当我通过hibernate从数据库查询数据时,值为';不正确

Java 当我通过hibernate从数据库查询数据时,值为';不正确,java,hibernate,spring,Java,Hibernate,Spring,我在我的项目中使用spring和hibernate,当将数据插入数据库时,一切看起来都很好,但当我在jsp中查询和显示时,值不正确,看起来像是打印对象 Model.User@1c0c66a, Model.User@1228521, Model.User@1526c5f 如何解决这个问题??我应该编码,否则我会在查询时出错 @Override public List findByUserName() { List list = getHibernateTemplate().fin

我在我的项目中使用spring和hibernate,当将数据插入数据库时,一切看起来都很好,但当我在jsp中查询和显示时,值不正确,看起来像是打印对象

Model.User@1c0c66a, Model.User@1228521, Model.User@1526c5f
如何解决这个问题??我应该编码,否则我会在查询时出错

    @Override
public List findByUserName() {
    List list = getHibernateTemplate().find(
            "from User");

    return list;
}
这是我用来查询数据的方法

List customerList = userdao.findByUserName();
我用这个语句来获取返回列表

${customerList}
这就是我在jsp中使用的EL

我不确定是什么使值像这样,我想我一定忘记了什么,因为它可以查询,但它没有正确显示

提前感谢,,
Mart

改用此jstl代码:

<c:forEach var="customer" items="${customerList}">
  ${customer.name} - ${customer.surname} ...
</c:forEach>

${customer.name}-${customer.name}。。。
由您决定要显示哪些字段(我假设您有字段名称和姓氏)以及如何显示它们

为了能够使用jstl,您需要在jsp页面的开头添加以下include行:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

改用此jstl代码:

<c:forEach var="customer" items="${customerList}">
  ${customer.name} - ${customer.surname} ...
</c:forEach>

${customer.name}-${customer.name}。。。
由您决定要显示哪些字段(我假设您有字段名称和姓氏)以及如何显示它们

为了能够使用jstl,您需要在jsp页面的开头添加以下include行:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


您使用对象类toString方法打印,这就是为什么您得到类名,数字是对象的哈希代码。您使用对象类toString方法打印,这就是为什么您得到类名,数字是对象的哈希代码。您能解释一下为什么我不能使用EL???(我遵循您的建议,现在它可以正确显示:D)您好,原因是jsp不知道如何处理${customerList}el。它应该显示所有元素及其所有字段吗?如果是,应按什么顺序显示字段?如何格式化数字和日期?这些都是jsp无法为您回答的问题。因此,它所要做的就是调用List对象上的toString()方法。结果可以在您的原始页面中看到。您可以使用EL。Matej的答案使用EL。但是当您使用${customerList}时,它意味着“使用toString方法显示customerList对象。java.util.List的toString方法显示它包含的每个元素(再次使用它们的toString方法),用逗号分隔。由于您没有在Model.User类中重写toString,因此它使用默认的toString方法java.lang.Object,其中显示对象的类名,后跟“@”及其哈希代码。感谢您的建议,Matej Tymes和JB Nizet。这非常有帮助。您能解释一下我为什么不能使用EL???(我遵循您的建议,现在它可以正确显示:D)嗨,原因是jsp不知道如何处理${customerList}它应该显示所有元素和所有字段吗?如果是,字段应该按什么顺序显示?如何设置数字和日期的格式?这些都是jsp无法回答的问题。所以它只需要调用toString()方法。其结果可以在原始页面中看到。您可以使用EL。Matej的答案使用EL。但是,当您使用${customerList}时,它意味着“使用toString方法显示customerList对象。java.util.List的toString方法显示它包含的每个元素(再次使用他们的toString方法),用逗号分隔。由于您没有在Model.User类中重写toString,它使用默认的toString方法java.lang.Object,它显示对象的类名,后跟“@”及其哈希代码。感谢您的建议,Matej Tymes和JB Nizet。这非常有用。