Elemen web yang umum digunakan meliputi: permintaan, sesi, aplikasi, dll., Dan kami biasanya menggunakan sesi lebih banyak. Bagaimana cara mengakses elemen web di struts2? Ini sangat penting karena dapat menyelesaikan interaksi data antara latar belakang program dan pengguna. Berikut ini adalah contoh pendaftaran untuk menunjukkan prosesnya:
1. File index.jsp
<%@ halaman bahasa = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <%string path = request.getContextPath (); String basePath = request.getScheme ()+": //"+request.getServerName ()+":"+request.getServerport ()+path+"/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <base href="<%=basePath %>"/> <title>Insert title here</title> </head> <body> <h1>Demo</h1> <form action="user/user02!register" method="post"> Name: <input type="text" name="user.name"></input> <br/> Password: <input type="text" name="user.password"></input> <br/> <input type = "kirim" value = "register"/> <form> </body> </html>
Fungsinya sangat sederhana - yaitu, pengguna memasukkan nama pengguna dan kata sandi, dan kemudian dapat diperoleh di latar belakang, dan kemudian akan ditampilkan kepada pengguna setelah pendaftaran berhasil.
2. Konfigurasi Struts.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Doctype Struts Public "-// Apache Software Foundation // Dtd Struts Configuration 2.0 // en" "http://struts.apache.org/dtds/struts-2.0.dtd"> <pomputs> <pomputs> "pompa =" packruts = "packruts." packruts. " name = "depan" namespace = "/user" extends = "struts-default"> <action name = "user*"> <rances> /success.jsp </rence> <result name = "error">/error.jsp </result> </action> </package> </struts>
Ada dua cara untuk menyelesaikan fungsi ini
3. Tipe pertama (UserAction01)
paket com.myservice.web; impor java.util.map; impor com.opensymphony.xwork2.actioncontext; impor com.opensymphony.xwork2.actionsupport; Public Class UserAction01 memperluas ActionSupport { / ** * * / private static final long serialVersionuid = 1l; Pengguna Pribadi; permintaan peta pribadi; sesi peta pribadi; aplikasi peta pribadi; UserAction PublicAncing01 () {request = (MAP) ActionContext.GetContext (). Get ("Request"); session = actionContext.getContext (). getSession (); application = actionContext.getContext (). getApplication (); } public string register () {request.put ("name", user.getName ()); request.put ("kata sandi", user.getPassword ()); Sukses kembali; } pengguna publik getUser () {return user; } public void setUser (pengguna pengguna) {this.user = user; }}Metode ini adalah menggunakan metode actionContext.getContext () untuk mendapatkan konteks, dan kemudian mendapatkan permintaan, sesi dan aplikasi
4. Metode lain (useraction02) sangat umum dan sangat terkenal - IOC (inversi kontrol) dan DI (injeksi ketergantungan). Itu membutuhkan implementasi 3 antarmuka sebagai berikut:
paket com.myservice.web; impor java.util.map; impor org.apache.struts2.interceptor.applicationAware; impor org.apache.struts2.interceptor.requestaware; impor org.apache.struts2.interceptor.Sessionaware; impor com.opensymphony.xwork2.actionsupport; Public Class UserAction02 Extends Actionsupport mengimplementasikan permintaan, sessionAware, applicationAware {private Map <String, Object> Request; Sesi peta pribadi <String, Object>; peta pribadi <String, Object> Aplikasi; Pengguna Pribadi; pengguna publik getUser () {return user; } public void setUser (pengguna pengguna) {this.user = user; } public string register () {request.put ("name", user.getName ()); request.put ("kata sandi", user.getPassword ()); Sukses kembali; } @Override public void setApplication (peta <String, Object> Application) {// TODO METODE AUTO-AUTO-ENTEERATED Stubt This.application = Application; } @Override public void setSession (peta <String, Object> sesi) {// TODO Metode yang dihasilkan secara otomatis Stub this.Session = sesi; } @Override public void setRequest (peta <String, Object> Request) {// TODO METODE AUTO-AUTO-ENTEERATED Stubt This.Request = Request; }}Ini mengimplementasikan suatu fungsi - Masukkan nama dan kata sandi pengguna ke dalam permintaan, dan saat menggunakannya, kita hanya perlu mengeluarkannya.
5. Success.jsp Mengambil isi permintaan dan menampilkannya
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv = "konten-tipe" konten = "teks/html; charset = utf-8"> <title> Sisipkan judul di sini </title> </head </html <body> ho. ha3> <title> <title> Sertakan di sini </title> </head> <body> <body> ha readistry> <title> <title> judul Here value = "#request.name"/> berhasil terdaftar, dengan kata sandi: <s: value properti = "#request.password"/> </body> </html>
Hasilnya ditampilkan sebagai:
Di atas adalah semua konten mengakses elemen web di Struts2. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.