====== Get size of Collection ======
%%fn:length%%は「配列、コレクション、文字列」のサイズを返却する。
<%@ page import="java.util.*" %>
<%@ page isELIgnored="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String s = "aaaaa";
pageContext.setAttribute("str",s);
String[] ar = {"aa","bb"};
pageContext.setAttribute("array",ar);
java.util.List l = new java.util.ArrayList();
l.add("aa");
l.add("bb");
l.add("cc");
pageContext.setAttribute("list",l);
%>
${ fn:length( str ) } ・・・ 5を返す
${ fn:length( array ) } ・・・ 2を返す
${ fn:length( list ) } ・・・ 3を返す
====== How to get current URL ======
struts1のTilesを使って画面を構成していてJSTLの
%%${pageContext.request.requestURL}%%でアドレスバーのURLを出力しようとすると\\
jspの相対パスが出た経験があると思います。そういう時、解決策を紹介します。
${requestScope["javax.servlet.forward.request_uri"]}
この属性はServletスペック2.4から追加されたものでこれ以外にも次のような属性があります。\\
*javax.servlet.forward.request_uri
*javax.servlet.forward.context_path
*javax.servlet.forward.servlet_path
*javax.servlet.forward.path_info((※1.Webコンテナが受信したHTTPリクエストが追加のパス情報を含まない場合,この属性は追加されません。))
*javax.servlet.forward.query_string((※2.Webコンテナが受信したHTTPリクストのリクエストURIがクエリ文字列を含まない場合,この属性は追加されません。 ))
===== reference =====
- [[http://www.hitachi.co.jp/Prod/comp/soft1/manual/pc/d3M4100/EM410254.HTM|Servlet 2.4仕様で追加,変更された仕様についての注意事項
]]
{{keywords>get size collection}}
~~DISCUSSION~~