📰 WHAT'S NEW?

[10] Java Standard Tag Library (JSTL)

JSTL
JSTL adalah singkatan dari Java Standard Tag Library. JSTL adalah seperangkat tag di luar tag standar HTML yang bisa kita gunakan dalam file JSP. Tujuan utama JavaServer Pages Template Library (JSTL) adalah mempermudah kehidupan perancang halaman JSP. Bagi developer, JSTL membantu menciptakan halaman JSP yang rapi, tidak banyak berbaur antara kode HTML dan kode Java, sehingga halaman JSP lebih mudah dimengerti dan dikelola.

Bila kita menggunakan Maven, konfigurasi dependensinya adalah:
groupId : javax.servlet
artifactId : jstl
version : 1.2

Agar JSTL bisa digunakan, kita harus mendeklarasikannya dulu di bagian atas file JSP seperti ini:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

JSTL memiliki beberapa tag, yaitu :

Core Tag
Area
Function
Tags
Prefix
Core
Variable support
remove
set
c
Flow control
choose
    when
    otherwise
forEach
forTokens
if
URL management
import
    param
redirect
    param
url
    param
Miscellaneous
catch
out

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

Variable Support Tags
Set tag menetapkan nilai variabel EL atau milik variabel EL di salah satu lingkup JSP (halaman, permintaan, sesi, atau aplikasi). Jika variabel tidak sudah ada, itu dibuat.
<c:set var="foo" scope="session" value="..."/>

JSP EL variabel atau properti dapat diatur baik dari nilai atribut:
<c:set var="foo">
     ...
 </c:set>

Flow Control Tags in the Core Tag Library
Untuk melaksanakan aliran kontrol logika, penulis halaman umumnya harus resor untuk menggunakan scriptlets. Sebagai contoh, scriptlet berikut ini digunakan untuk iterate melalui keranjang belanja:
<%
     Iterator i = cart.getItems().iterator();
    while (i.hasNext()) {
        ShoppingCartItem item =
            (ShoppingCartItem)i.next();
        ...
%>
        <tr>
        <td align="right" bgcolor="#ffffff">
         ${item.quantity}
        </td>
        ...
<%
     }
 %>

URL Tags
Oleh karena itu, tag impor adalah sederhana, cara umum untuk mengakses sumber daya berbasis URL, yang isinya kemudian dapat dimasukkan dan atau diolah di dalam halaman JSP. Misalnya, dalam XML Tag Library, impor digunakan untuk membaca dalam dokumen XML yang berisi informasi buku dan menetapkan konten ke xml variabel scoped:
<c:import url="/books.xml" var="xml" />
<x:parse doc="${xml}" var="booklist"
     scope="application" />
Miscellaneous Tags
Tag out mengevaluasi ekspresi dan output hasil evaluasi ke objek JspWriter saat ini. Sintaks dan atribut adalah sebagai berikut:
<c:out value="value" [escapeXml="{true|false}"]
     [default="defaultValue"] />


XML Tag Library

Tag JSTL XML menyediakan cara JSP-sentris menciptakan dan memanipulasi dokumen XML. Berikut ini adalah sintaks untuk memasukkan JSTL XML perpustakaan di JSP Anda.

<%@ taglib prefix="x"
           uri="http://java.sun.com/jsp/jstl/xml" %>

Area
Function
Tags
Prefix
XML
Core
out
parse
set
x
Flow control
choose
    when
    otherwise
forEach
if
Transformation
transform
    param

XML Flow Control Tags
XML flow control tags sejajar dengan yang dijelaskan dalam Flow Control Tags di Core Tag Library untuk aliran data XML.
Halaman JSP tut-install / javaeetutorial5 / contoh / web / bookstore4 / web / buku / bookcatalog.jsp menggunakan tag forEach untuk menampilkan semua buku yang terdapat dalam daftar buku sebagai berikut:
<x:forEach var="book"
     select="$applicationScope:booklist/books/*">
    <tr>
        <c:set var="bookId">
            <x:out select="$book/@id"/>
        </c:set>=
        <td bgcolor="#ffffaa">
             <c:url var="url"
            value="/bookdetails" >
                <c:param name="bookId" value="${bookId}" />
                <c:param name="Clear" value="0" />
            </c:url>
            <a href="${url}">
            <strong><x:out select="$book/title"/>&nbsp;
            </strong></a></td>
         <td bgcolor="#ffffaa" rowspan=2>
             <c:set var="price">
                <x:out select="$book/price"/>
            </c:set>
            <fmt:formatNumber value="${price}" type="currency"/>
             &nbsp;
        </td>
         <td bgcolor="#ffffaa" rowspan=2>
         <c:url var="url" value="/catalog" >
            <c:param name="Add" value="${bookId}" />
        </c:url>
         <p><strong><a href="${url}">&nbsp;
            <fmt:message key="CartAdd"/>&nbsp;</a>
        </td>
    </tr>
     <tr>
         <td bgcolor="#ffffff">
         &nbsp;&nbsp;<fmt:message key="By"/> <em>
            <x:out select="$book/firstname"/>&nbsp;
            <x:out select="$book/surname"/></em></td></tr>
</x:forEach>

Transformation Tags
Tag Transformasi berlaku untuk transformasi, yang ditentukan oleh stylesheet XSLT yang ditetapkan oleh XSLT atribut, untuk dokumen XML, ditentukan oleh doc atribut. Jika atribut doc tidak ditentukan, masukan dokumen XML dibaca dari konten body tag.

Param sub tag dapat digunakan bersama dengan transformasi untuk mengatur parameter transformasi. Atribut nama dan nilai yang digunakan untuk menentukan parameter. Nilai atribut opsional. Jika tidak ditentukan, nilai diambil dari tubuh tag.


Formatting Tags

Tag format JSTL digunakan untuk memformat dan menampilkan teks, tanggal, waktu, dan nomor untuk situs web internasionalisasi.

JSTL menyediakan satu set tag untuk nomor dan tanggal lokal-sensitif parsing dan format.

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

Example :
<jsp:useBean id="now" class="java.util.Date" />
<jsp:setProperty name="now" property="time"
     value="${now.time + 432000000}" />
<fmt:message key="ShipDate"/>
 <fmt:formatDate value="${now}" type="date"
    dateStyle="full"/>.


SQL Tag Library

JSTL Library tag SQL memberikan tag untuk berinteraksi dengan database relasional (RDBMSs) seperti Oracle, mySQL, atau Microsoft SQL Server.

Tag untuk melakukan permintaan query SQL yang mengembalikan hasil set. Untuk query SQL parameter, Anda menggunakan tag param bersarang di dalam tag query.

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

Example :

<c:set var="bid" value="${param.Add}"/>
<sql:query var="books" >
    select * from PUBLIC.books where id = ?
    <sql:param value="${bid}" />
</sql:query>


Functions Tags

Tag format JSTL digunakan untuk memformat dan menampilkan teks, tanggal, waktu, dan nomor untuk situs web internasionalisasi.

<%@ taglib prefix="fn"
           uri="http://java.sun.com/jsp/jstl/functions" %>

JSTL functions are concerned with string manipulation :

toUpperCase, toLowerCase: Changes the capitalization of a string
substring, substringBefore, substringAfter: Gets a subset of a string
trim: Trims white space from a string
replace: Replaces characters in a string
indexOf, startsWith, endsWith, contains, containsIgnoreCase: Checks whether a string contains another string
split: Splits a string into an array
join: Joins a collection into a string
escapeXml: Escapes XML characters in a string




0 komentar:

Posting Komentar