嗨,我试图在会话中遍历对象列表,再次使用JSTL遍历会话中的每个对象。下面是jsp代码
<c:forEach items="${sessionScope}" var="item">
<b>${item.key}</b>
<table border=1>
<c:forEach items="${item.nodes}" var="node">
<tr>
<td>${node.link}</td>
<td>${node.title}</td>
<td>${node.description}</td>
</tr>
</c:forEach>
</table>
</c:forEach>
下面是node类
public class Nde {
private String title;
private String link;
private String description;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
public class PersonalData {
private List<Nde> nodes;
private static int count=0;
private String s;
public List<Nde> getNodes() {
return nodes;
}
public String getS() {
return s;
}
public void setS(String s) {
this.s = s;
}
public void setNodes(List<Nde> nodes) {
this.nodes = nodes;
}
public PersonalData() {
super();
count++;
nodes = new ArrayList<Nde>();
}
public static int getCount() {
return count;
}
}
在循环这些项时,我遇到以下异常
che.jasper.el.JspPropertyNotFoundException: /WEB-INF/views/display.jsp(17,0) '${item.nodes}' Property 'nodes' not found on type javax.servlet.jsp.el.ImplicitObjectELResolver$ScopeMap$ScopeEntry
org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:109)
org.apache.jsp.WEB_002dINF.views.display_jsp._jspx_meth_c_005fforEach_005f1(display_jsp.java:155)
org.apache.jsp.WEB_002dINF.views.display_jsp._jspx_meth_c_005fforEach_005f0(display_jsp.java:122)
org.apache.jsp.WEB_002dINF.views.display_jsp._jspService(display_jsp.java:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
为什么它找不到nodes属性?
尝试使用
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:forEach items="${sessionScope}" var="item">
<c:if test="${fn:startsWith(item.key,'myData')}" >
<b>${item.key}</b>
<table border=1>
<c:forEach items="${item.value.nodes}" var="node">
<tr>
<td>${node.link}</td>
<td>${node.title}</td>
<td>${node.description}</td>
</tr>
</c:forEach>
</table>
</c:if>
</c:forEach>
我下面设置了一个名为“form”的JSP属性 这是有效的。属性“form”包含一个Java对象,它将用于进一步评估和稍后在JSP中显示。但是,我想在不事先知道表单名称的情况下以更通用的方式使用它——它可以被命名为例如“ModelForm”而不是“buildForm”。如果我们假设我已经将变量的名称存储在JSP属性“formName”中 如何使用它来设置JSP属性“form”,如第一个代码示例中所示
问题内容: 某些框架(Spring,Tomcat本身)添加了默认情况下无法在EL表达式内使用的Servlet请求属性。一个例子是 因此,为了使用JSTL获得价值,我通常会使用 但是,这不起作用,因为EL解析器希望是对象A的键,并且是该对象的属性(依此类推)。 所以我的问题是:如何逃脱点字符? 我试过使用 但这也不起作用,并从EL解析器中引发错误。 我知道在处理地图时,我可以使用类似 但这不能处理请
问题内容: 我在JSP中有一个表格。我必须基于请求对象(来自servlet)填充它。如何使用Java Script访问请求对象属性,或者可以建议我其他更好的方法来动态填充表单? 问题答案: 您需要认识到Java / JSP仅仅是HTML/CSS/JS代码生产者。因此,您要做的就是让JSP像打印JavaScript变量一样打印Java变量,并且所生成的HTML / JS代码输出在语法上是有效的。 假
我需要使用jsp jstl在jsp中呈现所有java bean属性。我正在使用spring mvc。下面是Spring代码的一部分。 JSP JSTL代码: 实际上,POJO中有大约300个属性,手动编写类似属性非常繁琐。 我想要一些循环方式来获取所有属性值,这些属性值是使用jstl的jsp,或者可能是其他方式。请分享你的小贴士! 谢谢
15.2. JSP和JSTL Spring为JSP和JSTL这些view层技术提供了几个即取即用的解决方案。使用JSP和JSTL的话,采用WebApplicationContext中定义的普通视图解析器就好;当然,还得自己写一些实际做渲染的JSP页面。本章介绍了一些Spring提供的用于简化JSP开发的额外特性。 15.2.1. 视图解析器 与你在Spring中采用的任何其他视图技术一样,使用JS
问题内容: 我们在Spring 3.0.5上运行Tomcat 6.0,由于某种原因,我们无法通过jsps来评估$ {blah}。这是一个Maven项目,有很多单独的模块,如果需要的话,Eclipse Helios。 这是我的web.xml的片段 这不是(<%@ page isELIgnored =“ false”%>),因为当我将其放入jsp时,页面仅显示为文本,这意味着 $ {2 + 2}未评估