1

私はJSPを使用するのが初めてで、次のようなことをしようとしています:

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

numTables は HomeController クラスの変数です。
コントローラーでも実行しました:

 model.addAttribute("numTables", numTables);

そして、私が書くと:

<h1>${numTables}</h1>

正しい値を出力します。しかし、この値を numTables の値として for ループに入れる方法が見つかりませんでした。
助けてください。ありがとう。

編集:スクリプトレットで行う必要があります。

4

2 に答える 2

3

スクリプトレットは避けたほうがよいでしょう。JSTL タグは同じ機能を実行できます。

<c:forEach var="i" begin="0" end="${numTables}" >
    <h3>person ${i}</h3>
</c:forEach>
于 2012-04-29T04:18:47.323 に答える
3

リクエスト属性として保存されます:

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

または、それがどのスコープにあるかわからないときはいつでも:

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

ただし、 JSTLなどの taglibs を避けることで、間違った道を進んでいます。ほぼ 10 年前 (!) にリリースされた JSP 2.0 以降、スクリプトレット推奨されていません。もし私があなたのコンピューターサイエンスの家庭教師だったら、あなたはこれに否定的だろう.

于 2012-04-29T04:50:32.077 に答える