2012-04-29 40 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

相關問題