Ikhtisar Elemen Sintaks JSP
Pertama, agar lebih jelas, berikut ini adalah ikhtisar singkat elemen sintaks JSP :
- Arahan : Ini menyampaikan informasi mengenai halaman JSP secara keseluruhan.
- Elemen skrip : Ini adalah elemen kode Java seperti deklarasi, ekspresi, skrip, dan komentar.
- Objek dan cakupan : Objek JSP dapat dibuat secara eksplisit atau implisit dan dapat diakses dalam ruang lingkup yang diberikan, seperti dari mana saja di halaman JSP atau sesi.
- Tindakan : Ini membuat objek atau mempengaruhi aliran output dalam respons JSP (atau keduanya).
Bagaimana konten dimasukkan dalam JSP
Ada beberapa mekanisme untuk menggunakan kembali konten dalam file JSP.
4 mekanisme berikut untuk memasukkan konten dalam JSP dapat dikategorikan sebagai penggunaan kembali langsung :
(untuk 3 mekanisme pertama mengutip dari "Head First Servlets and JSP" )
1) Termasuk arahan :
<%@ include file="header.html" %>
Statis : menambahkan konten dari nilai atribut file ke halaman saat ini pada waktu terjemahan . Arahan ini awalnya ditujukan untuk template tata letak statis, seperti header HTML.
2) Tindakan <jsp:include>
standar :
<jsp:include page="header.jsp" />
Dinamis : menambahkan konten dari nilai atribut halaman ke halaman saat ini pada waktu permintaan . Dimaksudkan lebih untuk konten dinamis yang berasal dari JSP.
3) <c:import>
Tag JSTL:
<c:import url=”http://www.example.com/foo/bar.html” />
Dinamis : menambahkan konten dari nilai atribut URL ke halaman saat ini, saat permintaan . Ini berfungsi sangat mirip
<jsp:include>
, tetapi lebih kuat dan fleksibel: tidak seperti dua lainnya termasuk, <c:import>
url dapat dari luar wadah web !
4) Pendahuluan dan kode:
Statis : pembuka dan kode hanya dapat diterapkan pada awal dan akhir halaman .
Anda dapat secara implisit menyertakan pembuka (juga disebut header) dan kode
(juga disebut footer) untuk sekelompok halaman JSP dengan menambahkan
<include-prelude>
dan <include-coda>
masing-masing elemen masing-masing dalam suatu <jsp-property-group>
elemen dalam aplikasi Web descriptor penyebaran web.xml aplikasi . Baca lebih lanjut di sini:
• Mengkonfigurasi Implisit Termasuk di Awal dan Akhir JSP
• Menentukan termasuk implisit
Tag File adalah metode tidak langsung penggunaan kembali konten, cara mengenkapsulasi konten yang dapat digunakan kembali . Sebuah Tag Berkas adalah file sumber yang berisi fragmen kode JSP yang dapat digunakan kembali sebagai tag kustom .
TUJUAN mencakup dan File Tag berbeda.
File tag (konsep yang diperkenalkan dengan JSP 2.0) adalah salah satu opsi untuk membuat tag kustom . Ini adalah cara yang lebih cepat dan lebih mudah untuk membuat tag khusus .
Tag khusus , juga dikenal sebagai ekstensi tag, adalah elemen JSP yang memungkinkan logika dan output khusus yang disediakan oleh komponen Java lainnya untuk dimasukkan ke halaman JSP. Logika yang disediakan melalui tag kustom diimplementasikan oleh objek Java yang dikenal sebagai penangan tag .
Beberapa contoh tugas yang dapat dilakukan oleh tag kustom termasuk operasi pada objek implisit, formulir pemrosesan, mengakses database dan layanan perusahaan lainnya seperti email dan direktori, dan menerapkan kontrol aliran.
Mengenai Edit Anda
Mungkin dalam contoh Anda (dalam Edit Anda ), tidak ada perbedaan antara menggunakan direct include dan Tag File. Tetapi tag khusus memiliki serangkaian fitur yang kaya . Mereka bisa
Dapat disesuaikan dengan atribut yang diteruskan dari halaman panggilan.
Lewati variabel kembali ke halaman panggilan.
Akses semua objek yang tersedia ke halaman JSP.
Berkomunikasi satu sama lain. Anda bisa membuat dan menginisialisasi komponen JavaBeans, membuat variabel EL publik yang merujuk ke kacang itu di satu tag, dan kemudian menggunakan kacang di tag lain.
Bersarang satu sama lain dan berkomunikasi melalui variabel pribadi.
Baca juga ini dari "Pro JSP 2": Memahami Tag Kustom JSP .
Bacaan yang bermanfaat.
Kesimpulan
Gunakan alat yang tepat untuk setiap tugas.
Gunakan File Tag sebagai cara cepat dan mudah untuk membuat tag khusus yang dapat membantu Anda mengenkapsulasi konten yang dapat digunakan kembali .
Adapun konten termasuk dalam JSP (kutipan dari sini ):
- Gunakan arahan sertakan jika file jarang berubah . Ini mekanisme tercepat. Jika wadah Anda tidak secara otomatis mendeteksi perubahan, Anda bisa memaksakan perubahan itu berlaku dengan menghapus file kelas halaman utama.
- Gunakan tindakan sertakan hanya untuk konten yang sering berubah , dan jika halaman yang akan dimasukkan tidak dapat diputuskan sampai halaman utama diminta.
*
) di dalam directive directive.<jsp:include>
adalah standar termasuk tindakan ,<%@ include file="" %>
termasuk arahan . Baca bagian terakhir (dalam kotak abu-abu) yang menguraikan keunggulan (yaitu rekomendasi kapan harus memilih satu atau yang lain). Lihat juga artikel ini untuk penjelasan terperinci. Semoga ini membantu.Kemungkinan Pertanyaan Gandakan
<@include>
- Tag arahan menginstruksikan kompiler JSP untuk menggabungkan konten dari file yang disertakan ke dalam JSP sebelum membuat kode servlet yang dihasilkan. Ini sama dengan memotong dan menempelkan teks dari halaman sertakan Anda langsung ke JSP Anda.<jsp:include>
- Tag Tindakan JSP di sisi lain memerintahkan wadah untuk menjeda eksekusi halaman ini, jalankan jalankan halaman yang disertakan, dan gabungkan output dari halaman tersebut ke output dari halaman ini.sumber
<t:mytag><h1>Hello World</h1></t:mytag>
? Itu bukan termasuk, ini adalah penggunaan normal tag (suka<jsp:useBean>
atau<c:if>
).Keuntungan utama dari
<jsp:include />
over<%@ include >
adalah:<jsp:include />
memungkinkan untuk melewati parameteryang tidak mungkin di
<%@include file="somefile.jsp" %>
sumber
<%@include file="somefile.jsp?menu=value" %>
? Apakah itu dibatasi juga?Ketiga opsi templat -
<%@include>
,<jsp:include>
dan<%@tag>
valid, dan ketiganya mencakup kasus penggunaan yang berbeda.Dengan
<@include>
, parser JSP in-line konten file yang disertakan ke dalam JSP sebelum kompilasi (mirip dengan C#include
). Anda akan menggunakan opsi ini dengan konten yang sederhana dan statis: misalnya, jika Anda ingin memasukkan elemen header, footer, atau navigasi ke setiap halaman di aplikasi web Anda. Konten yang disertakan menjadi bagian dari JSP yang dikompilasi dan tidak ada biaya tambahan saat runtime.<jsp:include>
(dan JSTL<c:import>
, yang serupa dan bahkan lebih kuat) paling cocok untuk konten dinamis. Gunakan ini ketika Anda perlu memasukkan konten dari URL lain, lokal atau jauh; ketika sumber daya yang Anda masukkan itu sendiri dinamis; atau ketika konten yang dimasukkan menggunakan variabel atau definisi kacang yang bertentangan dengan halaman yang disertakan.<c:import>
juga memungkinkan Anda untuk menyimpan teks yang disertakan dalam variabel, yang selanjutnya dapat Anda manipulasi atau gunakan kembali. Kedua hal ini menimbulkan biaya runtime tambahan untuk pengiriman: ini minimal, tetapi Anda harus menyadari bahwa dinamis termasuk bukan "gratis".Gunakan file tag ketika Anda ingin membuat komponen antarmuka pengguna yang dapat digunakan kembali. Jika Anda memiliki Daftar Widget, katakan, dan Anda ingin mengulangi widget dan menampilkan properti masing-masing (dalam tabel, atau dalam formulir), Anda akan membuat tag. Tag dapat mengambil argumen, menggunakan
<%@tag attribute>
dan argumen ini bisa bersifat wajib atau opsional - agak seperti parameter metode.File tag adalah mekanisme yang lebih sederhana, berbasis JSP untuk menulis pustaka tag, yang (sebelum JSP 2.0) harus Anda tulis menggunakan kode Java. Jauh lebih bersih untuk menulis file tag JSP ketika ada banyak rendering yang harus dilakukan dalam tag: Anda tidak perlu mencampur kode Java dan HTML seperti yang harus Anda lakukan jika Anda menulis tag di Java.
sumber
Menurut: Java Revisited
Sumber daya yang dimasukkan oleh direktif sertakan dimuat selama waktu terjemahan jsp, sementara sumber daya yang dimasukkan oleh tindakan sertakan dimuat selama waktu permintaan.
Setiap perubahan pada sumber daya yang disertakan tidak akan terlihat jika termasuk direktif sampai file jsp dikompilasi lagi. Sementara dalam hal tindakan sertakan, setiap perubahan dalam sumber daya yang disertakan akan terlihat dalam permintaan berikutnya.
Sertakan arahan adalah impor statis, sementara aksi termasuk impor dinamis.
Sertakan atribut directive using file untuk menentukan sumber daya yang akan disertakan saat menyertakan tindakan menggunakan atribut halaman untuk tujuan yang sama.
sumber