starzware

ITスキル

Java taglib(JSP, JSTL)



taglibディレクティブ
JSTL(core) <%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core %>
JSTL(xml) <%@ taglib prefix="x" uri=http://java.sun.com/jsp/jstl/xml %>
JSTL(functions) <%@ taglib prefix="fn" uri=http://java.sun.com/jsp/jstl/functions %>
JSTL(database) <%@ taglib prefix="sql" uri=http://java.sun.com/jsp/jstl/sql %>
Jakarta JNDI(jndi) <%@ taglib prefix="jndi" uri=http://jakarta.apache.org/taglibs/jndi %>
Jakarta Mailer(mt) <%@ taglib prefix="mt" uri=http://jakarta.apache.org/taglibs/mailer-1.1 %>
デプロイメント記述子(web.xml)の<taglib>に定義する
JSTL(core) <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
JSTL(xml) <taglib-uri>http://java.sun.com/jsp/jstl/xml</taglib-uri>
<taglib-location>/WEB-INF/x.tld</taglib-location>
JSTL(sql) <taglib-uri>http://java.sun.com/jsp.jstl/sql</taglib-uri>
<taglib-location>/WEB-INF/sql.tld</taglib-location>
JSTL(functions) <taglib-uri>http://java.sun.com/jsp.jstl/functions</taglib-uri>
<taglib-location>/WEB-INF/fn.tld</taglib-location>
jakarta taglibs(JNDI) <taglib-uri>http:// jakarta.apache.org/taglibs/jndi</taglib-uri>
<taglib-location>/WEB-INF/jndi.tld</taglib-location>
jakarta taglibs(Mailer) <taglib-uri>http:// jakarta.apache.org/taglibs/mailer-1.1</taglib-uri>
<taglib-location>/WEB-INF/mailer.tld</taglib-location>

タグ 分類 説明
<c:out> 汎用 出力する
<c:out value="Hello World!" />
<c:set> 汎用 変数設定
<c:set value="1" var="a" />
<c:remove> 汎用 変数削除
<c:remove var="a" />
<c:catch> 汎用 例外捕捉
<c:catch var="exception">
<c:if> 条件 単純分岐
<c:if test="${status.index % 2==0}" >
<c:choose> 条件 多岐分岐
<c:choose ><c:when test="${empty name}" /><c:otherwise /></c:choose >
<c:when> 条件 <c:choose>で使用
<c:otherwise> 条件 <c:choose>で使用
<c:forEach> 繰り返し 集合をもとに繰り返し
<c:forEach items="list" var="one" varStatus="status" >
<c:forTokens> 繰り返し 区切り文字をもとに繰り返し
<c:forTokens items="${csvstring}" delims="," var="one" />
<c:import> URL関連 外部ページをインポートする
<c:import url="http://localhost" />
<c:url> URL関連 URLの変換をする
<c:redirect> URL関連 外部ページにリダイレクトする
<c:redirect url="http://localhost" />
<c:param> URL関連 パラメータ指定
<c:redirect>,<c:redirect>,<c:redirect>で使用
<c:param name="param1" value="value1" />
<sql:query> 関数 データベースを検索し結果を取得する
<sql:query sql="select * from table_a" var="result" />
<sql:update> 関数 データベースに対してINSERT/UPDATE/DELETEを行なう
<sql:update sql="insert into table_a values(?,?)" dataSource="${ds}" >
<sql:param value="${id}" >
<sql:param value="${value}" >
</sql:update>
<sql:transaction> 関数 トランザクションを設定する
<sql:transaction dataSource="${ds}" >
<sql:update>とか
</sql:transaction>
<sql:setDataSource> 関数 データソースを設定する
<sql:setDataSource dataSource="jdbcMyDataSource" var="ds" />
<fn:contains> 関数 文字列を含んでいるか
${fn:contains("abcdef", "bcd")}
<fn:containsIgnoreCase> 関数 文字列を含んでいるか(大文字小文字区別なし) ${fn:containsIgnoreCase("abcdef", "BCD")}
<fn:endWith> 関数 指定の文字列で終わっているか
${fn:endsWith("abcdef", "def")}
<fn:startsWith> 関数 指定の文字列で始まっているか
${fn:startsWith("abcdef", "abc")}
<fn:escapeXml> 関数 XML予約文字をエスケープする
${fn:escapeXml("abc>def", "abc&gt;def")}
<fn:indexOf> 関数 指定文字の位置を返す
${fn:indexOf("abcdef", "def")}
<fn:join> 関数 配列の文字列を結合する
${fn:join("abc", "def")}
<fn:length> 関数 集合又は文字列の長さを返す
${fn:length("abcdef")}
<fn:replace> 関数 文字を置換する
${fn:replace("abcxyz", "xyz", "def")}
<fn:split> 関数 指定文字で区切り配列にする
${fn:split("bbbacccaddda", "a")}
<fn:startsWith> 関数 指定した位置から文字列を取り出す
${fn:startsWith("abcde", "abc")}
<fn:substring> 関数 指定した位置から文字列を取り出す
${fn:substring("abcde", 0, 3)}
<fn:substringAfter> 関数 指定文字以降を取り出す
${fn:substringAfter("abcde", "abc")}
<fn:substringBefore> 関数 指定文字以前を取り出す
${fn:substringBefore("abcde", "de")}
<fn:toLowerCase> 関数 文字列を小文字に変換する
${fn:toLowerCase("ABCDE")}
<fn:toUpperCase> 関数 文字列を大文字に変換する
${fn:toUpperCase("abcde")}
<fn:trim> 関数 文字列前後の空白を取り除く
${fn:trim(" abcde ")}
<mt:mail> メール メールの送信元/送信先/Subjectを設定する
<mt:mail from="from@domain" to="to@domain" />
<mt:message> メール メール内容
<mt:message>メッセージ</mt:message>
<mt:send> メール メールを送信する
<mt:send/>
<jndi:Context> JNDI JNDIコンテキストを構成する
<jndi:setProperty> JNDI JNDIのプロパティを設定する
<jndi:lookup> JNDI JNDIをルックアップ(参照)する