Scriptletsを使用しないでください。ELでJSTL 関数を使用します。
<c:set var="pathparts" value="${fn:split(path, '/')}" /> <!-- String[] with values "dir1", "dir2", "dir3" and "filename.xml" -->
<c:set var="filename" value="${pathparts[fn:length(pathparts) - 1]}" /> <!-- Last item of String[]: "filename.xml" -->
<c:set var="basename" value="${fn:split(filename, '.')[0]}" /> <!-- Result: "filename" -->
このための Java コードを本当に書く必要がある場合は、EL 関数を検討してください。例えば
<c:set var="basename" value="${util:basename(path)}" />
と
public static String basename(String path) {
String[] pathparts = path.split("/");
String filename = pathparts[pathparts.length - 1];
return filename.split("\\.")[0];
}
EL 関数を登録する方法については、JSP/サーブレットの非表示の機能の下部にある例を参照してください。