1~

Minter Coder's Blog

13-Jsp, Jstl'de XML Tags(XML Tagları)

2021-01-24

1-x:out , x:forEach veya x:parse tagları ->

Bu iki tag nedir neye yarar ? x:out c:out gibi output yani çıktıyı gösterir.x:parse de verdiğiniz xml dosyasını parse edeer yani parçalar.Hemen bir örnek verelim.

Yukarıda olan olay şu ; c:set ile library adlı bir değişken set ettik daha sonra içerisini xml tagıyla doldurduk.x:parse ile library adlı değişkende bulunan xml taglarını parse (parçalama) ettik.Sonra ondan gelen değeri output adlı bir değişkene atadık.X:out ile 1.değerde bulunan java kitap ismini yazdırdık , dikkat ! burada index değil normal sıra geçerlidir.Yada diye yazdım ve altına da bu değerleri table içerisinde göstermek için x:forEach kullandım.

<c:set var="library">
<library>
<book>
<author>Kerem</author>
<name>JAVA</name>
</book>
<book>
<author>Oğuz</author>
<name>Kültigin Kağan</name>
</book>
</library>
</c:set>
<x:parse xml="${library}" var="output" />
<x:out select="$output/library/book[1]/name" />
Yada
<br/>
<table border="1">
<x:forEach var="book" select="$output/library/book">
<tr>
<td><x:out select="$book/author"/></td>
<td><x:out select="$book/name"/></td>
</tr>
<br/>
</x:forEach>
</table>

 2-x:set -> tagı

Bu tag ile de <c:set tagına benzer ama bunda xml etiketini kullanıyoruz.Hemen örneğe bakalım.

Yukarıda görüldüğü gibi x:set adlı tagı kullandık ve değişken adı olarak nameOfTheBook verdik , daha sonra select ile library adlı değişkenin çıktısına verdiğimiz output adlı ismi kullanarak 2.sırada bulunan kiabın ismini aldık daha sonra bunu da x:out tag ile de yazdırdık.

3-x:choose , x:otherwise ve x:when tagları :

Arkadaşlar merhabalar bu taglar ne işe yarar eğer ki core tagını okuduysanız hemen burayı gösterik geçeceğim.

<c:set var="library">
<library>
<book>
<author>Kerem</author>
<name>JAVA</name>
</book>
<book>
<author>Oğuz</author>
<name>Kültigin Kağan</name>
</book>
</library>
</c:set>
<x:parse xml="${library}" var="output"/>
<x:choose>
<x:when select="$output/library/book[2]/author='Kerem'">
<p>Yazar Kerem ve kitabıda
<x:out select="$output/library/book[2]/name"/>
</p>
</x:when>
<x:when select="$output/library/book[2]/author='Oğuz'">
<p>
Yazar Oğuz ve kitabıda
<x:out select="$output/library/book[2]/name"/>
</p>
</x:when>
<x:otherwise>
<p>Yazarı tanımıyoruz </p>
</x:otherwise>
</x:choose>

4-x:if tagı :

Bu da c:if tagına benzer hemen örnek veriyorum.

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Xml Tags</title>
</head>
<body>
<c:set var="library">
<library>
<book>
<author>Kerem</author>
<name>JAVA</name>
<para>1024</para>
</book>
<book>
<author>Oğuz</author>
<name>Kültigin Kağan</name>
</book>
</library>
</c:set>
<x:parse xml="${library}" var="output"/>
<x:if select="$output/library/book[1]/para > 150">
<p>Fiyatı 150 den fazla.</p>
</x:if>
</body>
</html>

Ve çıktımı alıyorum.