Giriş
JSP dosyası src/main/webapp/WEB-INF/jsp/ dizinine yerleştirilir
Jsp tag'leri şöyledir
<%= ...%>
Nesnelere şöyle erişilir.
<h1>${message}</h1>
JSTL - Jakarta Standard Tag Library
jsp içine yazılan Java kodunu html gibi yazabilmeyi sağlar. JSP ile kullanılan Java nesneleri bean olmak zorunda
Maven
Şu satırı dahil ederiz. Bu kütüphanelerden herhangisi birisi olur
<dependency> <groupId>org.glassfish.web</groupId> <artifactId>jakarta.servlet.jsp.jstl</artifactId> <version>2.0.0-M1</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>apache-jstl</artifactId> <version>11.0.0.beta2</version> </dependency>
Kütüphaneler şöyle
core Tags : http://java.sun.com/jsp/jstl/core
fmt Tags : http://java.sun.com/jsp/jstl/fmt
function Tags : http://java.sun.com/jsp/jstl/functions
sql Tags : http://java.sun.com/jsp/jstl/sql
xml Tags : http://java.sun.com/jsp/jstl/xml
core Tags variable,url management, flow control içindir
function Tags string manipulation içindir
fmt Tags message,number,date formatlama içindir
Core Tags
Core JSTL taglerini almak için şöyle yaparız. Burada c ön eki core anlamına geliyor. Diğer kütüphanaler için fn, fmt, x, sql ön ekleri kullanılıyor. taglib ise bir JSP directive
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> ...
Bazı metodlar şöyle
catch
choose
forEach
forTokens
if
import
otherwise
out
param
redirect
remove
set
url
when
c:cout
Örnek
Elimizde şöyle bir kod olsun
<%String name = request.getAttribute("label").toString(); out.println(name) %>
Buna erişmek için şöyle yaparız
<c:cout value="${label}"/>
Örnek
Şöyle yaparız
If you are using Java Server Pages (JSP), you need to be aware that JSP templates do not escape dynamic content by default. Let’s say that you want to display a message this way:
<h1>${message}</h1>
You will need to use the <c:out> tag or fn:escapeXml() function to escape potentially dangerous content in untrusted input:
<h1><c:out value="${message}"/></h1> <h1>${fn:escapeXml(message)}</h1>
c:forEach
Örnek
students listesi üzerinde dolaşır
<c:forEach items="${students}" var="e"> ${e.name}<br/> </c:forEach>
c:if
Örnek
Şöyle yaparız
<c:if test="${requestScope.isGeoRedEnabled && isAdmin}"> ... </c:if>
Hiç yorum yok:
Yorum Gönder