14 Mart 2015 Cumartesi

JSTL nedir?

JSTL nedir?

JSTL yani JavaServer Pages Standard Tag Library, JSP sayfalarında basit taglar ile java işlemleri yapmaya yarar.

Nasıl kullanılır?

JSP sayfasına bir taglib direktifi vererek kullanılabilir.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

JSTL kütüphaneleri ve sağladıkları destekler

  • Corehttp://java.sun.com/jsp/jstl/core
  • XMLhttp://java.sun.com/jsp/jstl/xml
  • Internationalizationhttp://java.sun.com/jsp/jstl/fmt
  • SQLhttp://java.sun.com/jsp/jstl/sql
  • Functionshttp://java.sun.com/jsp/jstl/functions
Area
Subfunction
Prefix
Core
Variable support
c
Flow control
URL management
Miscellaneous
XML
Core
x
Flow control
Transformation
I18N
Locale
fmt
Message formatting
Number and date formatting
Database
SQL
sql
Functions
Collection length
fn
String manipulation

Core library


Temel işlemler yapılabilir. foreach, if, try-catch, vb.

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


Core library örnekleri


a. Variable support / değişken destek tagları

<c:set var="foo" scope="session" value="..."/>

<c:set var="foo">
     ...
 </c:set>

<c:set var="bookId" value="${param.Remove}"/>

<c:remove var="cart" scope="session"/>


<c:set var="bookId" scope="page" value="#{BooksBean.books}"/>
...
<h:inputText id="bookId" value="#{bookId}"/>
...


b. Flow control / akış kontrolü tagları

<%
     Iterator i = cart.getItems().iterator();
    while (i.hasNext()) {
        ShoppingCartItem item =
            (ShoppingCartItem)i.next();
        ...
%>
        <tr>
        <td align="right" bgcolor="#ffffff">
         ${item.quantity}
        </td>
        ...
<%
     }
 %>
...

c. Conditional / koşullu taglar

<c:if test="${!empty param.Add}">
    <c:set var="bid" value="${param.Add}"/>
    <jsp:useBean id="bid"  type="java.lang.String" />
     <sql:query var="books"
         dataSource="${applicationScope.bookDS}">
        select * from PUBLIC.books where id = ?
        <sql:param value="${bid}" />
    </sql:query>
    <c:forEach var="bookRow" begin="0" items="${books.rows}">
         <jsp:useBean id="bookRow" type="java.util.Map" />
        <jsp:useBean id="addedBook"
            class="database.Book" scope="page" />
    ...
    <% cart.add(bid, addedBook); %>
...
</c:if>


...

<c:choose>
     <c:when test="${customer.category == ’trial’}" >
         ...
     </c:when>
     <c:when test="${customer.category == ’member’}" >
         ...
     </c:when>
         <c:when test="${customer.category == ’preferred’}" >
         ...
     </c:when>
     <c:otherwise>
         ...
     </c:otherwise>
 </c:choose>

...
<c:choose>
     <c:when test="${count == 0}" >
         No records matched your selection.
     </c:when>
     <c:otherwise>
         ${count} records matched your selection.
     </c:otherwise>
 </c:choose>

...

<c:forEach var="item" items="${sessionScope.cart.items}">
    ...
    <tr>
         <td align="right" bgcolor="#ffffff">
         ${item.quantity}
    </td>
    ...
</c:forEach>



d. Iterator tagları


<c:forEach var="book" items="#{BooksBean.books}">
    ...
    <h:inputText id="quantity" value="#{book.quantity}"/>
    ...
</c:forEach>
...

<acme:transform>
    <jsp:include page="/exec/employeesList"/>
<acme:transform/>
...

<c:import url="/books.xml" var="xml" />
<x:parse doc="${xml}" var="booklist"
     scope="application" />
...

<c:url var="url" value="/catalog" >
    <c:param name="Add" value="${bookId}" />
</c:url>
<p><strong><a href="${url}">

...

<c:out value="value" [escapeXml="{true|false}"]
     [default="defaultValue"] />

...


Hiç yorum yok:

Yorum Gönder