| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「9.3 coreタグライブラリからJSTLを使用」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
1行目: 1行目:
==ある設計目標のもと、coreタグライブラリから適当な JSP Standard Tag Library (JSTL v1.1)のタグを使用する==
+
==ある設計目標のもと、coreタグライブラリから適当な JSP Standard Tag Library ([[JSTL]] v1.1)のタグを使用する==
  
JSTL
+
[[JSTL]]
 
# Core: http://java.sun.com/jsp/jstl/core
 
# Core: http://java.sun.com/jsp/jstl/core
# XML: http://java.sun.com/jsp/jstl/xml
+
# [[XML]]: http://java.sun.com/jsp/jstl/xml
 
# Internationalization: http://java.sun.com/jsp/jstl/fmt
 
# Internationalization: http://java.sun.com/jsp/jstl/fmt
# SQL: http://java.sun.com/jsp/jstl/sql
+
# [[SQL]]: http://java.sun.com/jsp/jstl/sql
 
# Functions: http://java.sun.com/jsp/jstl/functions
 
# Functions: http://java.sun.com/jsp/jstl/functions
  
===JSTLの利用===
+
===[[JSTL]]の利用===
 
{|class="wikitable"
 
{|class="wikitable"
 
!jarファイル
 
!jarファイル
21行目: 21行目:
 
|}
 
|}
  
__Tomcat 5.5 での上記jarファイル格納場所__
+
__[[Tomcat]] 5.5 での上記jarファイル格納場所__
  C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\jsp-examples\WEB-INF\lib
+
  C:\Program Files\[[Apache]] Software Foundation\Tomcat 5.5\webapps\jsp-examples\WEB-INF\lib
  
 
*配備記述子を編集する必要はない
 
*配備記述子を編集する必要はない
 
*サーブレットコンテナが自動的に見つける
 
*サーブレットコンテナが自動的に見つける
*JSPにてtaglibディレクティブの宣言は必要
+
*[[JSP]]にてtaglibディレクティブの宣言は必要
  
=====JSTLの詳細情報は、以下のライブラリを確認する!!=====
+
=====[[JSTL]]の詳細情報は、以下のライブラリを確認する!!=====
 
[[File:0100_standard.jpg]]
 
[[File:0100_standard.jpg]]
 
[[File:0099_jstl02.JPG]]
 
[[File:0099_jstl02.JPG]]
68行目: 68行目:
 
|-
 
|-
 
|<c:url>
 
|<c:url>
|パラメータを含む、URLを生成する
+
|パラメータを含む、U[[R]]Lを生成する
 
|-
 
|-
 
|<c:import>
 
|<c:import>
81行目: 81行目:
  
 
  <c:catch var="e">
 
  <c:catch var="e">
   <% int num = Integer.parseInt("NUMBER"); // 例外を発生させる %>
+
   <% int num = Integer.parseInt("NUMBE[[R]]"); // 例外を発生させる %>
 
  </c:catch>
 
  </c:catch>
 
  例外 : ${pageScope.e.message}
 
  例外 : ${pageScope.e.message}
181行目: 181行目:
 
----
 
----
 
{{amazon|1932394389}}
 
{{amazon|1932394389}}
[[http://www.amazon.co.jp/dp/1932394389?tag=typea09-22&link_code=as3&creativeASIN=1932394389&creative=3999&camp=767 SCWCD Exam Study Kit: Java Web Component Developer Certification (ペーパーバック)]] |
+
[http://www.amazon.co.jp/dp/1932394389?tag=typea09-22&link_code=as3&creativeASIN=1932394389&creative=3999&camp=767 SCWCD Exam Study Kit: Java Web Component Developer Certification (ペーパーバック)]

2020年2月16日 (日) 04:21時点における最新版

ある設計目標のもと、coreタグライブラリから適当な JSP Standard Tag Library (JSTL v1.1)のタグを使用する

JSTL

  1. Core: http://java.sun.com/jsp/jstl/core
  2. XML: http://java.sun.com/jsp/jstl/xml
  3. Internationalization: http://java.sun.com/jsp/jstl/fmt
  4. SQL: http://java.sun.com/jsp/jstl/sql
  5. Functions: http://java.sun.com/jsp/jstl/functions

JSTLの利用

jarファイル 役割
jstl.jar ライブラリのAPIクラス
standard.jar ライブラリの実装クラス

__Tomcat 5.5 での上記jarファイル格納場所__

C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\jsp-examples\WEB-INF\lib
  • 配備記述子を編集する必要はない
  • サーブレットコンテナが自動的に見つける
  • JSPにてtaglibディレクティブの宣言は必要
JSTLの詳細情報は、以下のライブラリを確認する!!

0100 standard.jpg 0099 jstl02.JPG standard.jar の META-INF に tldファイルが含まれている


__taglibディレクティブ__

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>

タグ

テンプレート:Ref c.tld

タグ 内容
<c:catch> 発生したThrowableをキャッチ
<c:out> ページへ出力
<c:set> EL式の結果をスコープに格納する
<c:remove> スコープから属性を削除する
<c:chose> <c:when><c:otherwise>とともに利用し、相互に排他的な条件文を記述する
<c:if> 条件文を記述する。条件が真ならボディ部分を実行する
<c:forEach> 繰り返し、コレクションメンバの繰り返し
<c:forTokens> デリミタで文字列を分割
<c:url> パラメータを含む、URLを生成する
<c:import> webアプリケーションの外部のコンテンツにもアクセス
<c:redirect> ブラウザにリダイレクトを指示
<c:catch>
<c:catch var="e">
  <% int num = Integer.parseInt("NUMBER"); // 例外を発生させる %>
</c:catch>
例外 : ${pageScope.e.message}
<c:out>
<%
 Date now = new Date();
 SimpleDateFormat sdf = new SimpleDateFormat();
 sdf.applyPattern("yyyy/MM/dd"); 
 pageContext.setAttribute("today", sdf.format(now));               
 
 sdf.applyPattern("HH"); 
 pageContext.setAttribute("hour",  sdf.format(now));               
%>
<c:out value="${today}" /> <c:out value="${hour}" />時
<c:choose>
<c:choose>
  <c:when test="${5 <= hour && hour < 12}">
    朝です。おはよう
  </c:when>
  <c:when test="${12 <= hour && hour < 17}">
    昼です。こんにちは
  </c:when>
  <c:when test="${17 <= hour && hour <= 23}">
    夜です。こんばんは
  </c:when>
  <c:otherwise>
    いらっしゃい 
  </c:otherwise>
</c:choose>
<c:if>
<c:if test="${hour % 2 == 0}">
  今は偶数時間ですね。
</c:if>
<c:if test="${hour % 2 != 0}">
  今は奇数時間ですね。
</c:if>
<c:forEach>
<select>
  <c:forEach var="i" begin="0" end="23" step="1">
    <option value="${i}">${i}</option>
  </c:forEach>
</select>時

<%
  // コレクションも利用可能
  List dummyList = new ArrayList();
  dummyList.add("DUMMY 1");
  dummyList.add("DUMMY 2");
  dummyList.add("DUMMY 3");
  pageContext.setAttribute("dummy", dummyList);
%>
       
<select>
  <c:forEach var="itm" items="${dummy}">
    <option><c:out value="${itm}" /></option>
  </c:forEach>        
</select>
<c:forTokens>
<table border="1">        
  <tr>
    <th>年</th><th>月</th><th>日</th>
  </tr>
  <tr>
    <c:forTokens delims="/" var="dt" items="${today}" >
      <td>${dt}</td>
    </c:forTokens>        
  </tr>
</table>    


<c:set>
<c:set var="sixhourslater" value="${(hour + 6) mod 24}" />
今から6時間後は、<c:out value="${sixhourslater}" />時です
<c:url>
<c:url value="/jsp/Section7_1.jsp" var="sec7_1">
  <c:param name="param1" value="param1_1"/>
  <c:param name="param1" value="param1_2"/>
</c:url>
<a href="${sec7_1}">Section 7.1</a> 定義済み変数にアクセスするELコードを書く
<c:import>
<c:import url="/jsp/Section7_1.jsp">
  <c:param name="param1" value="param1_1"/>
  <c:param name="param1" value="param1_2"/>
</c:import>
<c:redirect>
<c:redirect url="/jsp/Section7_1.jsp">
  <c:param name="param1" value="param1_1"/>
  <c:param name="param1" value="param1_2"/>
</c:redirect>

SCWCD Exam Study Kit: Java Web Component Developer Certification (ペーパーバック)