JSP に次のスクリプトレットがあります。
<% for (int i=0; i<emailSettings.qualified_apn.length; i++) { %>
var g ='<%= emailSettings.qualified_apn[i] %>'
//some code
<% } %>
変数emailSettings
を Bean に移動しました...では、ループを変更するにはどうすればよいですか?
スクリプトレットを使用する代わりに、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 に関する多くのチュートリアルを見つけることができます。