Java 无法识别jsp标记foreach var
我试图在从服务中选择的jsp页面中显示客户列表,如下所示 实体:Java 无法识别jsp标记foreach var,java,jsp,taglib,Java,Jsp,Taglib,我试图在从服务中选择的jsp页面中显示客户列表,如下所示 实体: @Entity public class Client implements Serializable { @Id @GeneratedValue private long idClient; private String nom; private String prenom; private String adress; private String mail;
@Entity
public class Client implements Serializable {
@Id
@GeneratedValue
private long idClient;
private String nom;
private String prenom;
private String adress;
private String mail;
服务:
@Autowired
private IClientService clientService;
@RequestMapping(value= "/")
public String clients(Model model){
List<Client> clients = clientService.selectAll();
if(clients == null) { clients = new ArrayList<Client>(); };
System.out.println("client size = "+clients.size());//debug : contains 2 elements
model.addAttribute("clients", clients);
return "client/clients";
}
}
@Autowired
专用IClientService客户端服务;
@请求映射(value=“/”)
公共字符串客户端(模型){
List clients=clientService.selectAll();
如果(clients==null){clients=newarraylist();};
System.out.println(“client size=“+clients.size());//调试:包含2个元素
model.addAttribute(“客户机”,客户机);
返回“客户/客户”;
}
}
我的jsp页面:
标记库:
< %@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri=”http://java.sun.com/jsp/jstl/core“prefix=“c”%>
以及用于显示客户的jsp代码
<c:forEach items="${clients}" var="client">
<tr>
<td>${client.getNom()}</td>
<td> ${client.prenom}<</td>
<td> ${client.adress}<</td>
<td> ${client.mail }<</td>
<td><a href="">Edit</a>, <a href="">delete</a></td>
</tr>
< /c:forEach>
${client.getNom()}
${client.prenom}是否确定类client
具有名为nom
的属性?你能把类Client
添加到你的问题中吗?带有getter和setter的实体,但为了避免额外的代码行,我在注释中添加了它们,items=“${clients}”
-如果你删除它会发生什么?即使我修复了项目并将标记更改为${Client.getNom()},我还是会得到同样的错误(使用getter)只是为了再次检查,在服务中,您是否将模型返回到JSP(即类似于ModelAndView
)?您能否提供有关服务如何退出和调用JSP的更多上下文?
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/views/client/clients.jsp at line 85
82: <tbody>
83: <c:forEach items="${clients}" var="client">
84: <tr>
85: <td>${client.nom }</td>
86: <td> ${client.prenom }<</td>
87: <td> ${client.adress }<</td>
88: <td> ${client.mail }<</td>
javax.el.PropertyNotFoundException: Property 'nom' not found on type java.lang.String
javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:268)
javax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:221)
javax.el.BeanELResolver.property(BeanELResolver.java:355)