1.logika:kosong
Tag logika: kosong digunakan untuk menentukan apakah tag tersebut kosong. Jika kosong, konten yang disematkan pada badan tag akan diproses. Tag ini digunakan dalam situasi berikut:
Ketika objek Java adalah null Ketika objek String adalah "" Ketika isEmpty() dalam objek java.util.Collection mengembalikan nilai true Ketika isEmpty() dalam objek java.util.Map mengembalikan nilai true Contoh kode berikut mengilustrasikan logikanya: tag kosong menentukan apakah orang koleksi kosong:
<logika:nama kosong="listForm" properti = "orang">
<div>Orang yang mengumpulkan koleksi kosong!</div>
</logika:kosong>
2.logika:tidakKosong
Penerapan tag ini adalah kebalikan dari tag logic:empty.
3.logika:sama
Tag ini adalah operator perbandingan yang sama.
misalnya1. Bandingkan atribut status pengguna untuk melihat apakah atributnya 1. Jika atributnya 1, keluaran "diaktifkan";
misalnya2. Jika nilai pada contoh di atas diperoleh secara dinamis, misalnya perlu dikeluarkan melalui bean:write, karena struts tidak mendukung label nesting, EL dapat digunakan untuk mengatasi masalah ini.
logika: sama
Apa yang ingin kami perkenalkan di sini bukan hanya tag logic:equal(=), namun jenis tag yang menyelesaikan operasi perbandingan, termasuk:
logika:sama(=)
logika:tidakSama(!=)
logika: sama besar(>=)
logika:lessEqual(<=)
logika: parutanDari(>)
logika:kurang dari(<)
Penggunaan tag jenis ini serupa. Kami hanya memperkenalkan tag logic:equal dan menyerahkan sisanya kepada Anda.
logika:sama digunakan untuk menentukan apakah keduanya sama. Jika sama, konten yang disematkan di badan tag akan diproses. Tag ini digunakan dalam situasi berikut:
Membandingkan apakah nilai cookie yang ditentukan oleh atribut cookie dari tag ini sama dengan nilai atribut value dari tag ini.
Membandingkan apakah nilai header yang ditentukan oleh atribut header tag sama dengan nilai atribut value tag.
Membandingkan apakah JSP Bean yang ditentukan oleh atribut nama dari tag sama dengan atribut nilai dari tag (atribut properti tidak muncul) atau membandingkan apakah nilai atribut properti dari JSP Bean yang ditentukan oleh atribut nama dari tag adalah sama dengan atribut nilai dari tag Nilainya sama.
Membandingkan apakah nilai parameter yang ditentukan oleh atribut parameter tag (dalam permintaan) sama dengan atribut value dari tag.
4. logika: tidak sama
Arti tag ini berlawanan dengan logika: sama, dan penggunaannya mirip, yaitu dihilangkan.
5. logika:maju
Tag ini digunakan untuk menerapkan panduan halaman dan menemukan penerusan global file konfigurasi. Pengalihan global dalam file struts-config.xml
misalnya. <logika: nama penerusan = "pengalihan"/>
6. logika: lebih besar Sama
Apakah operator perbandingan lebih besar atau sama.
misal: Ketika nilai siswa lebih besar atau sama dengan 60, keluarannya adalah "lulus":
<logic:greaterEqual name="student" property="scores" value="60">
lulus
</logika:samalebihbesar>
7. logika: lebih besar dari
Ini lebih besar dari operator perbandingan, dan penggunaannya sama dengan logic:greaterEqual;
8. logika:kurangSama
Ini adalah operator perbandingan yang kurang dari atau sama, dan penggunaannya sama dengan logic:greaterEqual;
9. logika: kurang dari
Ini adalah operator kurang dari perbandingan, dan penggunaannya sama dengan logic:greaterEqual;
10. logika: cocok
Tag ini membandingkan objek untuk kesetaraan;
Tag logic:match digunakan untuk menangani masalah pencocokan substring.
Jika nilai yang ditentukan cocok dengan tag, konten badan tagnya akan dibuat. Tag ini digunakan dalam situasi berikut:
Memeriksa apakah cookie dengan nama yang ditentukan cocok dengan nilai tag ini.
Memeriksa apakah header dengan nama yang ditentukan cocok dengan nilai tag ini.
Memeriksa apakah JSP Bean dengan nama yang ditentukan cocok dengan nilai tag atau memeriksa apakah nilai atribut properti di JSP Bean dengan nama yang ditentukan cocok dengan nilai tag.
Memeriksa apakah nilai parameter nama yang ditentukan dalam permintaan cocok dengan nilai tag.
Kode berikut mengilustrasikan penggunaan umum dari tag logic:match:
misalnya0.
12. logika: pesan Sekarang
Tag ini digunakan untuk menentukan apakah objek ActionMessages/ActionErrors ada;
Tag logic:messagesPresent digunakan dalam situasi berikut:
Ada objek ActionMessages dalam cakupan permintaan, dan atribut properti label sesuai dengan properti di ActionMessages.
Ada objek ActionErrors dalam cakupan permintaan, dan atribut properti label sesuai dengan properti di ActionErrors.
Ada objek String, ubah (bangun) menjadi ActionMessage lalu tambahkan ke ActionMessages.
Ada objek String Array, ubah setiap String dalam array menjadi ActionMessage, lalu tambahkan ke ActionMessages.
Ketika nilai atribut pesan dari tag benar, Globals.MESSAGE_KEY akan digunakan sebagai kunci untuk mencari Pesan dalam cakupan permintaan tidak muncul, nilai defaultnya adalah Globals.ERROR_KEY.
Kode berikut mengilustrasikan penggunaan umum tag logic:messagesPresent:
misalnya1.
14. logika: sekarang
Tag ini digunakan untuk menentukan apakah parameter yang diteruskan oleh objek permintaan ada.
Jika nilai yang ditentukan muncul, tag akan membuat isi badan tagnya. Tag ini digunakan dalam situasi berikut:
Memeriksa apakah ada cookie dengan nama yang ditentukan.
Memeriksa apakah header dengan nama tertentu muncul.
Memeriksa apakah JSP Bean dengan nama yang ditentukan muncul atau memeriksa apakah atribut properti di JSP Bean dengan nama yang ditentukan muncul.
Periksa apakah parameter dengan nama yang ditentukan muncul dalam permintaan.
Memeriksa apakah pengguna yang saat ini diautentikasi dikaitkan dengan peran keamanan yang ditentukan.
Memeriksa apakah subjek yang diautentikasi saat ini memiliki nama yang ditentukan.
misalnya1. Ketika objek pengguna dan atribut namanya ada dalam permintaan, string yang sesuai akan dikeluarkan:
Mari kita lihat perbedaan antara kedua tindakan ini:
Penerusan dijalankan di dalam servlet. Browser tidak akan menyadari tindakan ini sama sekali, dan URL asli tidak akan berubah. Jika browser dimuat ulang, ia hanya akan mengulangi permintaan asli.
Pengalihan dibagi menjadi dua langkah: langkah pertama adalah aplikasi web memberi tahu browser tentang URL kedua, dan kemudian browser mengirimkan permintaan ke URL kedua.
Pengalihan lebih lambat dibandingkan penerusan karena browser harus membuat permintaan kedua. Perhatikan juga bahwa kacang dalam cakupan permintaan pertama (cakupan permintaan) tidak terlihat oleh permintaan kedua.
Setelah memahami perbedaan yang dijelaskan di atas, Anda akan mengetahui kapan harus menggunakan tag logic:forward dan kapan harus menggunakan tag logic:redirect.
Tag logic:forward melengkapi PageContext.forward() atau HttpServletResponse.sendRedirect(). Tag logic:redirect melengkapi HttpServletResponse.sendRedirect().
Saat menggunakan tag logic:redirect, kita dapat membuat parameter baseurl dan kueri seperti menggunakan html:link. Jika Anda tertarik, Anda bisa merujuk ke tag html:link.