Java 当我通过hibernate从数据库查询数据时,值为';不正确
我在我的项目中使用spring和hibernate,当将数据插入数据库时,一切看起来都很好,但当我在jsp中查询和显示时,值不正确,看起来像是打印对象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
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。这非常有用。