我是使用JSP的新手,我正在尝试做类似的事情:
<% for (int i=0; i<numTables; i++) { %>
<h3> person <%=i%></h3>
<% } %>
numTables是HomeController类中的变量 我也在控制器中执行了:
model.addAttribute("numTables", numTables);
如果我写:
<h1>${numTables}</h1>
打印正确的值。但我无法找到一种方法将这个值作为
for循环中numTables的值。
请帮忙。感谢。
编辑:必须使用scriptlet完成。
答案 0 :(得分:4)
它存储为请求属性:
Integer numtables = (Integer) request.getAttribute("numTables");
或者,当您不确定它在哪个范围内时:
Integer numtables = (Integer) pageContext.findAttribute("numTables");
但是,通过避免像JSTL这样的标记库,你走错了路。自从JSP 2.0发布了近十年(!)之后, Scriptlets 就是discouraged。如果我是你的CS辅导员,你会得到负面的信息。
答案 1 :(得分:3)
最好避免使用scriptlet。 JSTL标签可以执行相同的功能,例如。
<c:forEach var="i" begin="0" end="${numTables}" >
<h3>person ${i}</h3>
</c:forEach>