1. Salah satu cara untuk mengubah atribut tindakan dalam bentuk formulir dalam panggilan metode dinamis DMI telah dijelaskan. Ada dua jenis lainnya. Salah satunya adalah mengubah atribut metode dalam tag tindakan di file konfigurasi struts.xml untuk menentukan pelaksanaan metode yang berbeda untuk menangani logika bisnis yang berbeda; Yang lainnya adalah menggunakan wildcard. Untuk mengubah atribut metode, beberapa tindakan perlu dikonfigurasi, dan sebagian besar tindakan ini didefinisikan sama, sehingga definisi ini cukup berlebihan. Oleh karena itu, menggunakan wildcard dapat menggantikan beberapa tindakan yang diproses secara logis dalam satu tag tindakan.
2. Demonstrasi: ( Mirip dengan panggilan metode dinamis sebelumnya untuk mengubah atribut tindakan formulir, dan modifikasi kecil dibuat pada file konfigurasi struts.xml.)
Persyaratan masih belum berubah. Klik Tombol Kirim yang berbeda untuk mengirimkan formulir yang sama dan menyerahkan layanan yang berbeda ke kelas pemrosesan tindakan yang sama untuk diproses.
⒈ Tampilkan formulir pertama, ada dua tombol kirim dalam formulir, tetapi mereka mewakili bisnis yang berbeda. Pengguna masuk saat mengklik untuk masuk; Pengguna masuk saat mengklik untuk mendaftar.
⒉Suser Login:
⒊Sustrasi Pengguna:
Kode spesifiknya adalah sebagai berikut:
⑴. Masuk ke halaman pendaftaran (index.jsp):
<%@ page language = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <! Doctype html public "-// w3c // dtd html 4.01 transisi // en" "http://www.w3.org/tr/html4/loose.dtd"><html><head><meta http-equiv =" konten-tipe "konten =" teks/html; charset = utf-8 "> <skrip src =" js/jQuery-1. type = "Text/JavaScript"> $ (function () {$ ("Input: eq (3)"). Klik (function () {/*Dinamis memodifikasi nilai atribut tindakan dalam formulir untuk mengirimkan permintaan terdaftar ke kelas tindakan*/$ ("#form"). ATTRET/ATTICE "," create ");}); Method = "POST" ID = "Form"> Nama: <input type = "text" name = "name"/> <br> <br> kata sandi: <input type = "kata sandi" nama = "kata sandi"/> <br> <br> <input type = "kirim" value = "Login"> <input type = "kirim" value = "register"> </Form> ⑵. Kode File Konfigurasi Struts.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Doctype Struts Public "-// Apache Software Foundation // Dtd Struts Configuration 2.3 // en" "http://struts.apache.org/dtds" ext "d-" name = "*" method = "{1}"> <result name = "userlogin"> web-inf/jsp/userlogin.jsp </hasilnya> <name = "userCreate"> web-inf/jsp/usercreate.jsp </result> </action> </package> </struts> Analisa:
1. Dalam file konfigurasi ini, karakter wildcard dikonfigurasi untuk atribut nama dalam tag tindakan: "*", dan nilai atribut metode sesudahnya adalah: {1}.
2. Ini berarti bahwa ketika pengguna mengklik tombol login pada halaman index.jsp, permintaan Action = "Login" dalam Formulir: akan diteruskan ke Struts. Karena konfigurasi wildcard dilakukan di struts.xml, "*" dianggap sebagai "login", yaitu, name = "login". Nilai metode selanjutnya adalah: {1} mewakili "*" pertama, yang merupakan metode = "login". Jadi Struts akan menemukan metode login di kelas Action.action dan menyebutnya. Jika pengguna mengklik tombol pendaftaran, maka prosesnya sama dengan mengklik tombol login. Anda dapat menulis contoh kecil untuk mengalaminya.
⑶. Kode Kode Tindakan:
Tindakan Paket; Impor com.opensymphony.xwork2.actionsupport; tindakan kelas publik memperluas Actionupport {private string name; public string getName () {return name;} public void setName (name string) {this.name = name;} public String Login () {System.out.println ("userlogin"); return public string () {System.out.println ("userlogin"); return public string () {System.out.println ("UserLogin"); Create () {System.out.println ("Registrasi Pengguna"); return "UserCreate";}} Tentu saja, penggunaan karakter wildcard tidak hanya sederhana, tetapi juga dapat mencakup: "*-*", "book_*", dll. Karakter wildcard ini dapat digunakan dalam properti tag aksi dalam file konfigurasi struts.xml, seperti atribut mthod dan kelas, atau dalam tag hasil, sebagai berikut:
<!-Tentukan tag tindakan umum-> <action name = "*"> <!-Tentukan tag hasil menggunakan ekspresi-> <rence>/web-inf/jsp/{1} .jsp </result> </cich> Dalam definisi tindakan di atas, nama tindakannya adalah *, sehingga dapat cocok dengan tindakan apa pun. Semua permintaan ditangani melalui tindakan ini. Karena tindakan ini tidak memiliki atribut kelas, kelas Actionsupport digunakan untuk menanganinya. Karena tidak ada atribut metode, default adalah metode eksekusi dan mengembalikan string sukses. Selain itu, atribut nama dalam tag hasilnya berhasil secara default, sehingga tindakan selalu secara langsung mengembalikan sumber daya JSP yang ditentukan dalam hasil. Oleh karena itu, arti dari definisi tindakan di atas adalah: jika pengguna meminta A.Action, itu akan melompat ke A.JSP; Jika B.Action diminta, itu akan melompat ke b.jsp.
Di atas adalah panggilan metode dinamis di struts yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!