不知道如何迭代 forEach 中提供的 "items"
Don't know how to iterate over supplied "items" in forEach
您好,当我显示有关所选滑雪板的详细信息时出现错误:
JSP代码:
<c:forEach var="skis" items="${skis}">
<div class="container">
<div class="card">
<div class="container-fliud">
<div class="wrapper row">
<div class="preview col-md-6">
<div class="preview-pic tab-content">
<div class="tab-pane active" id="pic-1"><img src="#" /></div>
</div>
</div>
<div class="details col-md-6">
<h3 class="product-title">${skis.company} - ${skis.model}</h3>
<p class="product-description">${skis.description}</p>
<h4 class="price">price per day: <span>12$</span></h4>
<h4>Day's reserved: </h4>
</c:forEach>
Controller:
@RequestMapping(value = "/ski/show-details/{skisId}" , method = RequestMethod.GET)
public String getShowDetailsPage(@PathVariable("skisId") Integer skisId, Model model) {
Skis skis = skisDAO.findOne(skisId);
model.addAttribute("skis", skis);
return "ski-details";
}
Model:
@Entity
@Table(name = "skis")
public class Skis {
@Id
@Column(name= "skisId")
@GeneratedValue
private Integer skisId;
@Column(name = "company", length = 20)
private String company;
@Column(name = "model", length = 20)
private String model;
@Column(name = "description", length = 200)
private String description;
@Lob
@Basic(fetch = FetchType.LAZY)
private byte[] photo;
@Repository
public interface SkisDAO extends CrudRepository<Skis, Integer> {
我试过这样的方法
@Query("select s from Skis s where s.skisId = :skisId")
Skis findBySkisId(@Param("skisId") Integer skisId);
但还是一样的问题。
有人可以帮忙吗?
堆栈跟踪如下:
javax.servlet.jsp.JspTagException: Don't know how to iterate over
supplied "items" in <forEach>
org.apache.taglibs.standard.tag.common.core.ForEachSupport.toForEachIterator(ForEachSupport.java:274)
org.apache.taglibs.standard.tag.common.core.ForEachSupport.supportedTypeForEachIterator(ForEachSupport.java:238)
org.apache.taglibs.standard.tag.common.core.ForEachSupport.prepare(ForEachSupport.java:155)
javax.servlet.jsp.jstl.core.LoopTagSupport.doStartTag(LoopTagSupport.java:256)
org.apache.jsp.WEB_002dINF.ski_002ddetails_jsp._jspx_meth_c_005fforEach_005f0(ski_002ddetails_jsp.java:483)
org.apache.jsp.WEB_002dINF.ski_002ddetails_jsp._jspService(ski_002ddetails_jsp.java:317) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
答案在评论里。 jsp.
中的实体无需循环
删除foreach
循环,findOne
方法return一个对象。您可以像这样直接访问值:${skis.company}
。
您好,当我显示有关所选滑雪板的详细信息时出现错误:
JSP代码:
<c:forEach var="skis" items="${skis}">
<div class="container">
<div class="card">
<div class="container-fliud">
<div class="wrapper row">
<div class="preview col-md-6">
<div class="preview-pic tab-content">
<div class="tab-pane active" id="pic-1"><img src="#" /></div>
</div>
</div>
<div class="details col-md-6">
<h3 class="product-title">${skis.company} - ${skis.model}</h3>
<p class="product-description">${skis.description}</p>
<h4 class="price">price per day: <span>12$</span></h4>
<h4>Day's reserved: </h4>
</c:forEach>
Controller:
@RequestMapping(value = "/ski/show-details/{skisId}" , method = RequestMethod.GET)
public String getShowDetailsPage(@PathVariable("skisId") Integer skisId, Model model) {
Skis skis = skisDAO.findOne(skisId);
model.addAttribute("skis", skis);
return "ski-details";
}
Model:
@Entity
@Table(name = "skis")
public class Skis {
@Id
@Column(name= "skisId")
@GeneratedValue
private Integer skisId;
@Column(name = "company", length = 20)
private String company;
@Column(name = "model", length = 20)
private String model;
@Column(name = "description", length = 200)
private String description;
@Lob
@Basic(fetch = FetchType.LAZY)
private byte[] photo;
@Repository
public interface SkisDAO extends CrudRepository<Skis, Integer> {
我试过这样的方法
@Query("select s from Skis s where s.skisId = :skisId")
Skis findBySkisId(@Param("skisId") Integer skisId);
但还是一样的问题。
有人可以帮忙吗?
堆栈跟踪如下:
javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach> org.apache.taglibs.standard.tag.common.core.ForEachSupport.toForEachIterator(ForEachSupport.java:274) org.apache.taglibs.standard.tag.common.core.ForEachSupport.supportedTypeForEachIterator(ForEachSupport.java:238) org.apache.taglibs.standard.tag.common.core.ForEachSupport.prepare(ForEachSupport.java:155) javax.servlet.jsp.jstl.core.LoopTagSupport.doStartTag(LoopTagSupport.java:256) org.apache.jsp.WEB_002dINF.ski_002ddetails_jsp._jspx_meth_c_005fforEach_005f0(ski_002ddetails_jsp.java:483) org.apache.jsp.WEB_002dINF.ski_002ddetails_jsp._jspService(ski_002ddetails_jsp.java:317) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
答案在评论里。 jsp.
中的实体无需循环删除foreach
循环,findOne
方法return一个对象。您可以像这样直接访问值:${skis.company}
。