MVC Spring-loop,具有左连接HQL查询结果
我有来自MVC Spring-loop,具有左连接HQL查询结果,spring,templates,Spring,Templates,我有来自 Query query = session.createQuery("From Pool as p left join fetch p.poolQuestion as s"); 查询,我想在JSP上显示它 我有一个循环: <c:forEach items="${pools}" var="pool"> <p>${pool.name}</p> </c:forEach> ${pool.name} 我想显示poolQ
Query query = session.createQuery("From Pool as p left join fetch p.poolQuestion as s");
查询,我想在JSP上显示它
我有一个循环:
<c:forEach items="${pools}" var="pool">
<p>${pool.name}</p>
</c:forEach>
${pool.name}
我想显示poolQuestion表(即联接表)的结果。我要显示的值是“answer”
我怎么能做到
<c:forEach items="${pools}" var="pool">
<p>${pool.answer}</p>
<p>${pool.name}</p>
</c:forEach>
${pool.answer}
${pool.name}
上面的代码不起作用
错误是:
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/views/home.jsp at line 21
18: <c:forEach items="${pools}" var="pool">
19:
20: <p>${pool.name}</p>
21: <c:out value="${pool.poolQuestion.answer}"/>
22:
23: </c:forEach>
24:
org.apache.jasper.jaspereException:在第21行处理JSP页面/WEB-INF/views/home.JSP时发生异常
18:
19:
20:${pool.name}
21:
22:
23:
24:
模型是:
public List<Pool> getAll(){
Session session = sessionFactory.getCurrentSession();
Query query = session.createQuery("From Pool as p left join fetch p.poolQuestions as s");
return query.list();
public List getAll(){
Session Session=sessionFactory.getCurrentSession();
Query Query=session.createQuery(“从池作为p left join fetch p.poolQuestions作为s”);
返回query.list();
控制器是:
List<Pool> pool = poolService.getAll();
model.addAttribute("pools", pool);
List pool=poolService.getAll();
model.addAttribute(“池”,池);
这种观点是:
<c:forEach items="${pools}" var="pool">
<p>${pool.name}</p>
<c:out value="${pool.answer}"/>
</c:forEach>
${pool.name}
另外,${pool.name}是属性显示的
**
好的,我明白了,我的代码应该是这样的:
**
我需要为每个问题再做一次…尝试从池中获取答案是行不通的,因为答案属性在问题中 你的代码应该是
${pool.poolQuestion.answer}
你应该确保HTML转义它,以确保你的HTML是有效的,并且你不能有XSS攻击
<c:out value="${pool.poolQuestion.answer}"/>
当我使用HQL session.createQuery()方法时,我必须以索引的形式获取数据,而不是调用属性direclty,例如${pool.name},${poolq.answer} 而是使用索引
<c:out value="${pool[0]}"/>
等等
任何其他建议都将不胜感激。什么是“不起作用”(原文如此)看起来像?是否有错误消息、堆栈跟踪或其他提示?您向模型映射中添加了什么对象?查询?错误来自JSP-循环没有找到变量向我们显示将查询结果存储在请求中的代码。如果此代码不存在,那么您的答案是:您需要使池可用于JSP,将它们放在request属性中。它仍然不工作,${pool.poolQuestion.answer}或${pool.s.answer}
<c:out value="${pool[0]}"/>