Mehmet Ethem SULAN :: JSP(Java Server Pages) :: Kişiye Özel JSP Etiket Kütüphanesi Nasıl Oluşturulur(Create JSP custom tag library)

Kişiye özel jsp etiketini 3 adımda oluşturabiliriz. 1.Tag handler isminde bir takı classı oluştururlur. 2.Tag library descriptor yanı .tld uzantılı bir xml ayar dosyasının oluşturulması. 3.taglib ile tanımlanan takının jps sayfasına eklenmesi.Bu da javabeanler gibi bileşen haline getirilip tektrar tekrar kullanılabilir.Daha önceki örneklerde farklı firmaların takılarını görmüştük.

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@taglib uri="/WEB-INF/tlds/tagim.tld" prefix="SimdikiZaman" %>
JSP Page
    
        Tarih saat  :  
    

//--------------------------------------------
package www.ethemsulan.com;
import java.io.IOException;
import java.util.Date;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyTagSupport;
//extends ile ya TagSupport yada BodyTagSupport tan turetecez
//Yerel tarih urettik bu takiyla
public class ZamanTag extends BodyTagSupport{
    Date zaman=new Date();
public int doStartTag(){
       try{
JspWriter yaz=pageContext.getOut();
yaz.println(zaman.toLocaleString());
}catch(IOException e){e.printStackTrace();}
        return SKIP_BODY;
    }  }
//------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.1" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd">
  1.0
  <short-name>tagim</short-name>
  /WEB-INF/tlds/tagim
//tagimin ismi ethem ve tag class ta ZamanTag.java sinifin
//bulundugu paket yani paketismi.taki sinifimiz
//paket=www.ethemsulan.com tag handler=ZamanTag
  
      ethem
<tag-class>www.ethemsula
n.com.ZamanTag</tag-class>
      JSP
  

tld

Web uygulamanızı sağ tıklayıp new—>other—>web—>tag library descriptor ayar dosyasını oluşturun resimdeki gibi.

tldtakimiz

Buraya dikkat taglib uri den .tld dosyanızın yolunu resimde görüldüğü gibi tanımlanır. .tld için de taghandler sınıfımızın tam yolu yanı paketismi.sınıf ismi.

Write a Comment

Let me know what you think?