Petunjuk JSP: Halaman, Sertakan & Tutorial Taglib

Daftar Isi:

Anonim

Apa itu JSP Directive?

  • Arahan JSP adalah pesan ke kontainer JSP. Mereka memberikan informasi global tentang seluruh halaman JSP.
  • Direktif JSP digunakan untuk memberikan instruksi khusus ke wadah untuk menerjemahkan JSP ke kode servlet.
  • Dalam fase siklus hidup JSP, JSP harus diubah menjadi servlet yang merupakan fase terjemahan.
  • Mereka memberikan instruksi kepada wadah tentang bagaimana menangani aspek-aspek tertentu dari pemrosesan JSP
  • Direktif dapat memiliki banyak atribut dengan dipisahkan koma sebagai key-value pair.
  • Di JSP, direktif dijelaskan dalam tag <% @%>.

Sintaks Petunjuk:

<%@ directive attribute %>

Ada tiga jenis arahan:

  1. Halaman direktif
  2. Sertakan direktif
  3. Direktif Taglib

Masing-masing dijelaskan secara rinci di bawah dengan contoh:

Dalam tutorial ini, Anda akan belajar -

  • JSP Page direktif
  • JSP Sertakan direktif
  • Petunjuk JSP Taglib

JSP Page direktif

Sintaks direktif Halaman:

<%@ page… %>
  • Ini memberikan atribut yang diterapkan ke seluruh halaman JSP.
  • Ini mendefinisikan atribut yang bergantung pada halaman, seperti bahasa skrip, halaman kesalahan, dan persyaratan buffering.
  • Ini digunakan untuk memberikan instruksi ke wadah yang berhubungan dengan halaman JSP saat ini.

Berikut adalah daftar atribut yang terkait dengan direktif halaman:

  1. Bahasa
  2. Memperluas
  3. Impor
  4. Jenis konten
  5. info
  6. sidang
  7. isThreadSafe
  8. autoflush
  9. penyangga
  10. IsErrorPage
  11. pageEncoding
  12. errorPage
  13. isELIgonored

Detail lebih lanjut tentang setiap atribut

  1. bahasa : Ini mendefinisikan bahasa pemrograman (bahasa dasar) yang digunakan di halaman.

    Sintaks bahasa:

    <%@ page language="value" %>

    Di sini nilainya adalah bahasa pemrograman (bahasa yang mendasari)

Contoh:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>

Penjelasan kode: Dalam contoh di atas, nilai bahasa atribut adalah Java yang merupakan bahasa yang mendasari dalam kasus ini. Oleh karena itu, kode dalam tag ekspresi akan dikompilasi menggunakan kompilator java.

  1. Memperluas : Atribut ini digunakan untuk memperluas (mewarisi) kelas seperti yang dilakukan JAVA

Sintaks dari extends:

<%@ page extends="value" %>

Di sini nilai tersebut mewakili kelas yang harus diwarisi.

Contoh:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>

Penjelasan kode: Dalam kode di atas JSP memperluas DemoClass yang ada di dalam paket demotest, dan itu akan memperluas semua fitur kelas.

  1. Impor : Atribut ini adalah atribut yang paling banyak digunakan dalam atribut direktif halaman. Ini digunakan untuk memberi tahu container untuk mengimpor kelas java lainnya, antarmuka, enum, dll. Saat membuat kode servlet. Ini mirip dengan pernyataan impor di kelas java, antarmuka.

Sintaks impor :

<%@ page import="value" %>

Di sini nilai menunjukkan kelas-kelas yang harus diimpor.

Contoh:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>

Penjelasan kode:

Dalam kode di atas, kita mengimpor kelas Date dari paket java.util (semua kelas utilitas), dan dapat menggunakan semua metode dari kelas berikut.

  1. contentType :
  • Ini mendefinisikan skema pengkodean karakter yaitu digunakan untuk mengatur tipe konten dan kumpulan karakter dari respons
  • Jenis default contentType adalah "text / html; charset = ISO-8859-1".

Sintaks dari contentType:

<%@ page contentType="value" %>

Contoh:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>

Penjelasan kode:

Dalam kode di atas, tipe konten disetel sebagai teks / html, ini menetapkan pengkodean karakter untuk JSP dan untuk halaman respons yang dihasilkan.

  1. info
  • Ini mendefinisikan string yang bisa diakses dengan metode getServletInfo ().
  • Atribut ini digunakan untuk mengatur deskripsi servlet.

Sintaks info:

<%@ page info="value" %>

Di sini, nilai mewakili informasi servlet.

Contoh:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>

Penjelasan kode:

Pada kode di atas, string "Guru Directive JSP" dapat diambil oleh antarmuka servlet menggunakan getServletInfo ()

  1. Sidang
  • Halaman JSP membuat sesi secara default.
  • Terkadang kita tidak memerlukan sesi untuk dibuat di JSP, dan karenanya, kita dapat menyetel atribut ini ke false dalam kasus tersebut. Nilai default dari atribut sesi adalah benar, dan sesi dibuat.

    Jika disetel ke false, maka kami dapat menunjukkan kompilator untuk tidak membuat sesi secara default.

Sintaks sesi:

<%@ page session="true/false"%>

Di sini, dalam hal ini atribut sesi dapat disetel ke benar atau salah

Contoh:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>

Penjelasan kode:

Dalam contoh di atas, atribut sesi disetel ke "false" oleh karena itu kami menunjukkan bahwa kami tidak ingin membuat sesi apa pun di JSP ini

  1. isThreadSafe:
  • Ini mendefinisikan model threading untuk servlet yang dihasilkan.
  • Ini menunjukkan tingkat keamanan utas yang diterapkan di halaman.
  • Nilai defaultnya benar begitu simultan
  • Kita dapat menggunakan atribut ini untuk mengimplementasikan antarmuka SingleThreadModel di servlet yang dihasilkan.
  • Jika kita menyetelnya ke false, maka itu akan mengimplementasikan SingleThreadModel dan dapat mengakses objek bersama dan dapat menghasilkan ketidakkonsistenan.

Sintaksis isThreadSafe:

<% @ page isThreadSafe="true/false" %>

Di sini benar atau salah mewakili jika ada sinkronisasi kemudian setel sebagai benar dan setel sebagai salah.

Contoh:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>

Penjelasan kode:

Dalam kode di atas, isThreadSafe disetel ke "true" sehingga sinkronisasi akan dilakukan, dan beberapa utas dapat digunakan.

  1. AutoFlush:

Atribut ini menetapkan bahwa output yang di-buffer harus di-flush secara otomatis atau tidak dan nilai default dari atribut itu adalah true.

Jika nilainya diset ke false, buffer tidak akan di-flush secara otomatis dan jika penuh, kita akan mendapatkan pengecualian.

Jika buffer tidak ada, maka yang salah adalah tidak sah, dan tidak ada buffering, sehingga akan di-flush secara otomatis.

Sintaks autoFlush:

<% @ page autoFlush="true/false" %>

Di sini benar / salah mewakili apakah buffering harus dilakukan atau tidak

Contoh:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>

Penjelasan kode:

Dalam kode di atas, autoflush disetel ke false dan karenanya buffering tidak akan dilakukan dan secara manual menghapus keluaran.

  1. Penyangga:
  • Dengan menggunakan atribut ini, objek respons keluaran mungkin di-buffer.
  • Kita dapat menentukan ukuran buffering yang harus dilakukan menggunakan atribut ini dan ukuran defaultnya adalah 8KB.
  • Ini mengarahkan servlet untuk menulis buffer sebelum menulis ke objek respons.

Sintaks buffer:

<%@ page buffer="value" %>

Di sini nilai mewakili ukuran buffer yang harus ditentukan. Jika tidak ada buffer, maka kita dapat menulis sebagai none, dan jika kita tidak menyebutkan nilai apapun maka defaultnya adalah 8KB

Contoh:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>

Penjelasan kode:

Dalam kode di atas, ukuran buffer disebutkan sebagai 16KB dimana buffer akan berukuran sebesar itu

  1. isErrorPage:
  • Ini menunjukkan bahwa Halaman JSP yang memiliki errorPage akan diperiksa di halaman JSP lain
  • File JSP apa pun yang dideklarasikan dengan atribut "isErrorPage" kemudian dapat menerima pengecualian dari halaman JSP lain yang memiliki halaman kesalahan.
  • Pengecualian hanya tersedia untuk halaman ini.
  • Nilai defaultnya salah.

Sintaks isErrorPage:

<%@ page isErrorPage="true/false"%>

Contoh:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>

Penjelasan kode:

Dalam kode di atas, isErrorPage disetel sebagai true. Oleh karena itu, ia akan memeriksa JSP lain yang memiliki atribut errorPage (dijelaskan dalam atribut berikutnya) dan dapat menangani pengecualian.

  1. PageEncoding:
Atribut "pageEncoding" mendefinisikan pengkodean karakter untuk halaman JSP.

Standarnya ditetapkan sebagai "ISO-8859-1" jika yang lain tidak ditentukan.

Sintaksis halamanEncoding:

<%@ page pageEncoding="vaue" %>

Di sini nilai menentukan nilai charset untuk JSP

Contoh:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>

Penjelasan kode:

Dalam kode di atas "pageEncoding" telah disetel ke charset default ISO-8859-1

  1. errorPage:
Atribut ini digunakan untuk menyetel halaman kesalahan untuk halaman JSP jika JSP melontarkan pengecualian dan kemudian dialihkan ke halaman pengecualian.

Sintaks errorPage:

<%@ page errorPage="value" %>

Di sini nilai mewakili nilai halaman JSP kesalahan

Contoh:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>

Penjelasan kode:

Pada kode di atas, untuk menangani pengecualian kami memiliki errroHandler.jsp

  1. isELDiabaikan:
  • IsELIgnored adalah atribut flag dimana kita harus memutuskan apakah akan mengabaikan tag EL atau tidak.
  • Jenis datanya adalah java enum, dan nilai defaultnya salah sehingga EL diaktifkan secara default.

Sintaks isELIgnored:

<%@ page isELIgnored="true/false" %>

Di sini, true / false merepresentasikan nilai EL apakah harus diabaikan atau tidak.

Contoh:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>

Penjelasan kode:

Dalam kode di atas, isELIgnored adalah true dan karenanya Expression Language (EL) diabaikan di sini.

Pada contoh di bawah ini kami menggunakan empat atribut (baris kode 1-2)

Contoh dengan empat atribut

<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%> Directive Guru JSP1  Tanggalnya adalah: <% = new java.util.Date ()%>

Penjelasan kode:

Baris Kode 1-2: Di sini kita telah mendefinisikan empat atribut yaitu

  • Bahasa: Diatur sebagai Java sebagai bahasa pemrograman
  • contentType: ditetapkan sebagai teks / html untuk memberi tahu kompiler bahwa html harus dalam format
  • pageEncoding: charset default disetel dalam atribut ini
  • isELIgnored: Expression Tag salah sehingga tidak diabaikan

Baris Kode 3: Di sini kami telah menggunakan atribut import, dan itu mengimpor "Kelas tanggal" yang berasal dari paket util Java, dan kami mencoba menampilkan tanggal saat ini dalam kode.

Saat Anda menjalankan kode di atas, Anda akan mendapatkan output berikut

Keluaran :

  • Tanggal adalah: Tanggal sekarang menggunakan metode tanggal dari kelas tanggal

JSP Sertakan direktif

  • JSP "include directive" (codeline 8) digunakan untuk memasukkan satu file ke file lain
  • File yang disertakan ini dapat berupa HTML, JSP, file teks, dll.
  • Ini juga berguna dalam membuat template dengan tampilan pengguna dan memecah halaman menjadi tindakan header & footer dan sidebar.
  • Ini termasuk file selama fase terjemahan

Sintaks dari direktif include:

<%@ include… .%>

Contoh:

Directive_jsp2.jsp (File utama)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "directive_header_jsp3.jsp"%> Petunjuk Guru JSP2  Ini adalah file utama 

Directive_header_jsp3.jsp (yang termasuk dalam file utama)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> File header: <% int count = 1; hitung ++;out.println (hitung);%>:

Penjelasan kode:

Directive_jsp2.jsp:

Baris Kode 3: Dalam kode ini, kami menggunakan tag include di mana kami menyertakan file directive_header_jsp3.jsp ke dalam file utama (_jsp2.jsp) dan mendapatkan output dari file utama dan file yang disertakan.

Directive_header_jsp3.jsp:

Baris Kode 11-12: Kami telah mengambil jumlah variabel yang diinisialisasi ke 1 dan kemudian menaikkannya. Ini akan memberikan output di file utama seperti yang ditunjukkan di bawah ini.

Ketika Anda menjalankan kode di atas, Anda mendapatkan output berikut:

Keluaran:

  • Outputnya adalah file Header: 2: Ini adalah file utama
  • Output dijalankan dari file directive_jsp2.jsp sedangkan file yang disertakan directive_header_jsp3.jsp akan dikompilasi terlebih dahulu.
  • Setelah file yang disertakan selesai, file utama dijalankan, dan outputnya adalah dari file utama "Ini adalah file utama". Jadi Anda akan mendapatkan output sebagai "File Header: 2" dari _jsp3.jsp dan "Ini adalah file utama" dari _jsp2.jsp.

Petunjuk JSP Taglib

  • Direktif taglib JSP digunakan untuk mendefinisikan pustaka tag dengan "taglib" sebagai awalan, yang dapat kita gunakan di JSP.
  • Detail lebih lanjut akan dibahas di bagian Tag Kustom JSP
  • JSP taglib direktif digunakan di halaman JSP menggunakan pustaka tag standar JSP
  • Ini menggunakan satu set tag kustom, mengidentifikasi lokasi perpustakaan dan menyediakan cara untuk mengidentifikasi tag kustom di halaman JSP.

Sintaks dari direktif taglib:

<%@ taglib uri="uri" prefix="value"%>

Di sini atribut "uri" adalah pengenal unik dalam deskriptor pustaka tag dan atribut "awalan" adalah nama tag.

Contoh:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ taglib prefix = "gurutag" uri = "http://java.sun.com/jsp/jstl/core"%> Petunjuk Guru JSP 

Penjelasan kode:

Baris Kode 3: Di sini "taglib" didefinisikan dengan atribut uri dan awalan.

Baris Kode 9: "gurutag" adalah tag kustom yang ditentukan dan dapat digunakan di mana saja