コレクションオブジェクトの新しい操作をサポートするEL3.0(Tomcat 8以降、WildFly 8以降、GlassFish 4以降、Payara 4以降、TomEE 7以降など)を既に使用している場合は、${[...]}
構文を使用してリストを作成できます。${{...}}
セットを構築するための構文。
<c:set var="alphabet" value="${['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']}" scope="application" />
EL 3.0をまだ使用していない場合は、${fn:split()}
コンマなどの一般的な区切り文字で個々の文字を区切る単一の文字列に対して関数トリックを使用してください。
<c:set var="alphabet" value="${fn:split('A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z', ',')}" scope="application" />
ただし、これには通常のJavaコードを使用する方がよいことに同意します。明らかに静的なデータであるため、次のリスナークラスを作成するだけです。
@WebListener
public class ApplicationData implements ServletContextListener {
private static final String[] ALPHABET = { "A", "B", "C", ..., "Z" };
@Override
public void contextInitialized(ServletContextEvent event) {
event.getServletContext().setAttribute("alphabet", ALPHABET);
}
@Override
public void contextDestroyed(ServletContextEvent event) {
// NOOP.
}
}
Webアプリの起動時に透過的に自動登録され、必要なデータがアプリケーションスコープに配置されます。