JSP - 将数据从控制器传输到scriptlet

时间:2012-04-29 01:08:53

标签: html spring jsp spring-mvc

我是使用JSP的新手,我正在尝试做类似的事情:

<% for (int i=0; i<numTables; i++) { %>
<h3> person <%=i%></h3>
<% } %>

numTables是HomeController类中的变量 我也在控制器中执行了:

 model.addAttribute("numTables", numTables);

如果我写:

<h1>${numTables}</h1>

打印正确的值。但我无法找到一种方法将这个值作为 for循环中numTables的值。
请帮忙。感谢。

编辑:必须使用scriptlet完成。

2 个答案:

答案 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>