2012-04-29 60 views
1

我是新来使用JSP和我试图做这样的事情:JSP - 从控制器将数据传输到scriptlet而

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

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

model.addAttribute("numTables", numTables); 

,如果我写的:

<h1>${numTables}</h1> 

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

编辑:它必须用scriptlets来完成。

回答

4

它存储为一个请求属性:

Integer numtables = (Integer) request.getAttribute("numTables"); 

,或当你不能确定其范围是:

Integer numtables = (Integer) pageContext.findAttribute("numTables"); 

但是,你会在错误的道路避免像JSTL这样的taglib。 Scriptlets自从发布近十年(!)之前的JSP 2.0以来的discouraged。如果我是你的CS导师,你会得到这个消极的。

3

你最好避免scriptlets。 JSTL标签可以执行相同的功能,例如

<c:forEach var="i" begin="0" end="${numTables}" > 
    <h3>person ${i}</h3> 
</c:forEach> 
+0

我必须用scriptlets来做。有没有办法? – tomermes 2012-04-29 04:46:32

+0

如果你绝对必须使用脚本,请检查BalusCs的答案。 – krock 2012-04-29 05:01:38

相关问题