Обычно используемые веб -элементы включают в себя: запрос, сеанс, приложение и т. Д., И мы обычно используем сессии больше. Как получить доступ к веб -элементам в Struts2? Это очень важно, потому что он может завершить взаимодействие данных между фоном программы и пользователем. Ниже приведен пример регистрации для демонстрации его процесса:
1. Индекс.jsp Файл
<%@ page language = "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-tolpe" html> "hta http-equiv =" http-equiv = "http-equiv =" charset = utf-8 "> <base href =" < %= basePath %> "/> <Title> вставьте заголовок здесь </title> </head> <body> <h1> demo </h1> <form action =" user/user02! register "method =" post "> name: <input = text" name = "user.name"> <//input> <br/>: <input = "text" name = " name = "user.password"> </input> <br/> <input type = "Отправить" value = "Register"/> </form> </body> </html>
Функция очень проста - то есть пользователь вводит имя пользователя и пароль, а затем ее можно получить в фоновом режиме, а затем он будет отображаться пользователю после успешной регистрации.
2. Конфигурация struts.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Struts Public "-// Apache Software Foundation // Конфигурация Struts DTD 2.0 // en" "http://struts.apache.org/dtds/struts-2.0.dtd"/struts> <constancant name = "str structs"/stachut "= vatrods"/stachut. name = "Front" namespace = "/user" extends = "struts-default"> <name = "user*"> <result> /success.jsp </result> <name = "error">/error.jsp </result> </action> </package> </struts>
Есть два способа завершить эту функцию
3. первый тип (userAction01)
пакет com.myservice.web; импортировать java.util.map; Импорт com.opensymphony.xwork2.actionContext; Import Com.OpensyMphony.xwork2.ActionsUpport; открытый класс userAction01 extends actionsupport { / ** * * / private static final long serialversionuid = 1l; частный пользователь; Запрос на частную карту; частная сессия карты; Приложение частной карты; public userAction01 () {request = (map) actionContext.getContext (). get ("request"); session = actionContext.getContext (). getSession (); Application = actionContext.getContext (). getApplication (); } public String Register () {request.put ("name", user.getName ()); request.put ("пароль", user.getpassword ()); вернуть успех; } public user getUser () {return user; } public void setUser (пользователь пользователя) {this.user = user; }}Этот метод состоит в том, чтобы использовать метод ActionContext.getContext () для получения контекста, а затем получить запрос, сеанс и приложение
4. Другой метод (userAction02) очень распространен и очень известен - IOC (контрольная инверсия) и DI (инъекция зависимости). Требует реализации 3 интерфейсов следующим образом:
пакет com.myservice.web; импортировать java.util.map; Импорт org.apache.struts2.interceptor.applicationAware; Импорт org.apache.struts2.interceptor.requestaware; Импорт org.apache.struts2.interceptor.sessionAware; Import Com.OpensyMphony.xwork2.ActionsUpport; открытый класс userAction02 Extends ActionSupport реализует запрос, SessionAware, ApplicationAware {Private Map <String, Object> запрос; частная карта <строка, объект> сеанс; частная карта <строка, объект> приложение; частный пользователь; public user getUser () {return user; } public void setUser (пользователь пользователя) {this.user = user; } public String Register () {request.put ("name", user.getName ()); request.put ("пароль", user.getpassword ()); вернуть успех; } @Override public void setApplication (map <string, object> application) {// todo автоматическое сгенерированное метод stub this.application = Application; } @Override public void setSession (map <string, object> session) {// todo автоматическое сгенерированное метод stub this.session = session; } @Override public void setRequest (map <string, объект> запрос) {// todo Автогенерированный метод stub this.request = request; }}Это реализует функцию - поместите имя и пароль пользователя в запрос, и при ее использовании нам просто нужно его вывести.
5. Success.jsp снимает содержимое запроса и отображает его
<%@ 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. "http://www.w3.org/tr/html4/loose.dtd"> <html> <Head> <meta http-eviv = "content-type" content = "text/html; charset = utf-8"> insert title здесь </tit value = "#request.name"/> Зарегистрировано успешно, с помощью пароля: <s: свойство value = "#request.password"/> </body> </html>
Результаты показаны как:
Выше приведено все содержание доступа к веб -элементам в Struts2. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.