Pemrosesan yang dikirimkan ke server biasanya dapat dibagi menjadi dua tahap. Tahap pertama menanyakan status server (kueri atau memperbarui database), dan tahap kedua memilih halaman hasil yang sesuai dan mengembalikannya ke pengguna (konten hasil yang akan dibahas di sini).
Struts2 memberikan dukungan untuk berbagai jenis hasil pengembalian, hasil umum termasuk JSP, freemarker, kecepatan, dll.
Berbagai jenis hasil pengembalian yang didukung oleh Struts2 adalah:
| nama | menjelaskan |
|---|---|
| Hasil rantai | Digunakan untuk menangani rantai aksi |
| Hasil Dispatcher | Digunakan untuk beralih ke halaman, biasanya menangani JSP |
| Hasil Freemarker | Tangani template freemarker |
| Hasil httpheader | Digunakan untuk mengontrol perilaku http khusus |
| Hasil pengalihan | Mengalihkan pengalihan ke URL |
| Redirect Action Hasil | Mengalihkan suatu tindakan |
| Hasil aliran | Kirim objek inputsream ke browser, biasanya digunakan untuk memproses unduhan file |
| Hasil kecepatan | Tangani template kecepatan |
| Hasil XLS | Proses Templat XML/XLST |
| Hasil Plaintext | Tampilkan konten file asli, seperti kode sumber file |
| S2Plugins: Hasil Ubin | Gunakan dalam kombinasi dengan ubin |
Selain itu, jenis hasil pihak ketiga juga mencakup plugin Jasperreports, yang secara khusus digunakan untuk memproses output laporan dari jenis Jasperreport.
Sudah ada definisi untuk semua jenis hasil dalam file struts-default.xml:
<result-types> <result-type name = "rantai" class = "com.opensymphony.xwork2.acticchainResult"/> <result-type name = "dispatcher" class = "org.apache.struts2.dispatcher.servletDispatcherResult" default = "true"/<-tipe hasil name = "freeMarker" class = "org.apache.struts2.views.freemarker.freemarkerResult"/> <result-type name = "httpheader" class = "org.apache.structs2.dispatcher.httpheaderResult"/<-Type-Type name = "redirect" class = "org.apache.structs2.dispatcher.servletredirectresult"/> <hasil-tipe nama = "redirectaction" class = "org.apache.structs2.dispatcher.servletaction name = "velocity" class = "org.apache.struts2.dispatcher.velocityResult"/> <result-type name = "xslt" class = "org.apache.struts2.views.xslt.xsltresult"/> <hasil tipe nama = "plaintext" class = "org.apache. Formulir nama yang sudah usang dijadwalkan untuk dihapus di Struts 2.1.0. Versi Camelcase lebih disukai. Lihat WW-1707-> <result-type name = "redirect-action" class = "org.apache.structs2.dispatcher.servletactionredirectresult"/> <hasil tipe-tipe = "plaintext" class = "org.apache.struts2.dispatcher.plaintextresult"/</org.apache.struts2
Dari kode di atas, kita dapat melihat bahwa ketika jenis hasil tidak ditentukan, itu digunakan.
Tentukan nilai hasil,
<result name = "Success" type = "Dispatcher"> <param name = "location">/terima kasih
Karena nilai default tipe adalah dispatcher, tidak perlu mendefinisikannya di sini. Selain itu, nilai default nama adalah sukses, jadi tidak perlu mendefinisikannya di sini.
Kode di atas dapat disingkat sebagai:
<rances> <param name = "location">/terima kasih.jsp </param> </dence>
Selain itu, parameter lokasi juga dapat secara langsung menghapus dari tag hasil, sehingga cara paling sederhana untuk menulis kode di atas adalah:
<rasil> /TheKyou.jsp </hasilnya>
Kami juga dapat mendefinisikan beberapa hasil yang berbeda
<action name = "hello"> <rances> /hello/result.jsp </result> <result name = "error">/hello/error.jsp </result> <result name = "input">/hello/input.jsp </result> </action>
Arti dari kode di atas adalah tindakan dengan nama Hello memiliki tiga pengembalian, dan semuanya adalah tipe dispatcher (tipe default). Nama ketiga nilai pengembalian ini berhasil (nilai default), kesalahan, dan input. Jalur halaman yang sesuai adalah /hello/result.jsp, /hello/error.jsp, dan /hello/input.jsp.
Terkadang kita membutuhkan hasil global yang ditentukan. Saat ini, kita dapat menentukan hasil global di dalam paket, misalnya:
<Global-Results> <result name = "error">/error.jsp </result> <result name = "Invalid.token">/error.jsp </hasilnya> <name hasil = "login" type = "redirect-action"> Logon! Input </hasilnya </global-result>
Hasil pengembalian secara dinamis
Terkadang, kita hanya tahu hasil mana yang akan dikembalikan ketika tindakan mengeksekusi BI lengkap. Pada saat ini, kita dapat mendefinisikan properti di dalam tindakan, yang digunakan untuk menyimpan nilai hasil setelah tindakan mengeksekusi BI lengkap, misalnya:
Private String NextAction; Public String getNextAction () {return nextAction;} Dalam file konfigurasi strutx.xml, kita dapat menggunakan $ {nextaction} untuk merujuk properti dalam tindakan, dan secara dinamis mengembalikan hasilnya melalui konten yang diwakili oleh $ {nextaction}, misalnya: misalnya:
<action name = "fragment"> <result name = "next" type = "redirect-action"> $ {nextAction} </RAEST> </cind> Ketika metode eksekusi dari tindakan di atas mengembalikan selanjutnya, juga perlu untuk menentukan tindakan mana yang terletak berdasarkan sifat -sifat NextAction.
Jika Anda ingin meneruskan ke tindakan lain, Anda dapat mengatur tipe = rantai dan hasilnya tidak akan ditambahkan ke SHTML.
Di atas adalah semua penjelasan terperinci dari parameter hasil struts2. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.