0

JSP に次のスクリプトレットがあります。

<% for (int i=0; i<emailSettings.qualified_apn.length; i++) { %>
    var g ='<%= emailSettings.qualified_apn[i] %>'
    //some code
<% } %>

変数emailSettingsを Bean に移動しました...では、ループを変更するにはどうすればよいですか?

4

1 に答える 1

3

スクリプトレットを使用する代わりに、JSTLを使用してリストを参照する必要があります。これは、非常に悪い習慣と見なされます... すべてのビジネス ロジックはクラスにカプセル化する必要があり、JSP にはプレゼンテーション ロジックのみを含める必要があります...

すべてを Java クラスに移動する必要があり//some codeます。ページに表示するすべての値をクラスに収集したら、次のように JSTL を使用できます。

<c:forEach var="item" items="${emailSettings.qualified_apn}">
    <p>Item foo: ${item.foo}</p>
    <p>Item bar: ${item.bar}</p>
    ...
</c:forEach>

以下を使用して、JSTL コア ライブラリを JSP にインポートする必要があることに注意してください。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

@JBNizetがコメントしたようqualified_apnに、クラスのフィールドには getter が必要になることにも注意してくださいEmailSettings(パブリック フィールドを使用しないでください!)。また、Java の命名規則を尊重することも検討してください。変数とメソッドにアンダースコアを使用しないでください (例: qualifiedApn)。

Oracle の公式JSTL ドキュメントを読み始めることをお勧めします。さらに、 tutorialspoint.com などの「JSTL チュートリアル」をグーグル検索するだけで、Web 上に JSTL に関する多くのチュートリアルを見つけることができます

于 2013-08-21T12:20:21.010 に答える