Struts 2 Hello World Пример

Struts 2 Hello World Пример

В этом примере мы покажем вам, как создать пример Hello World в Struts 2.

Используются следующие библиотеки или инструменты:

  • Maven 3

  • Затмение 3.7

  • Struts 2.3.1.2

1. Окончательная структура проекта

Давайте рассмотрим окончательную структуру проекта этого урока, если вы заблудились на последующих шагах.

struts2 foder structure

2. Struts2 зависимости

Используйте Maven, чтобы загрузить все зависимости Struts2. Добавьте «struts2-core» вpom.xml.

Файл: pom.xml


    4.0.0
    com.example.common
    Struts2Example
    war
    com.example.common
    Struts2Example Maven Webapp
    http://maven.apache.org
    
        
            junit
            junit
            3.8.1
            test
        
        
            org.apache.struts
            struts2-core
            2.3.1.2
        
    
    
        Struts2Example
        
            
                maven-compiler-plugin
                2.3.2
                
                    1.6
                    1.6
                
            
        
    

3. Преобразовать в проект Eclipse

Скомпилируйте и преобразуйте в веб-проект Eclipse в командной строке:

mvn eclipse:eclipse -Dwtpversion=2.0

Просмотрите файл Eclipse .classpath, загружены следующие зависимости Struts2:

Файл: .classpath


  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

4. JSP просмотр страниц

Страница входа в JSP для использования тегов Struts 2 для отображения полей ввода имени пользователя и пароля и кнопки отправки.

Фи: login.jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>



    

Struts 2 Hello World Example

File : welcome_user.jsp - страница просмотра JSP для отображения приветственного сообщения пользователю.

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>



    

Struts 2 Hello World Example

Hello

Как в Struts 1, так и в Struts 2 очень похож синтаксис тегов пользовательского интерфейса, немного отличающийся в смысле именования элементов HTML, например:

Struts 1

<%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

   

Struts 2

<%@ taglib prefix="s" uri="/struts-tags" %>

    

5. Действие, положите всю бизнес-логику сюда

Простой класс Struts2 Action, он используется для объявления всей бизнес-логики внутри.

Файл: WelcomeUserAction.java

package com.example.user.action;

public class WelcomeUserAction{

    private String username;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    // all struts logic here
    public String execute() {

        return "SUCCESS";

    }
}

В Struts2 класс Action не требуется для реализации какого-либо интерфейса или расширения какого-либо класса, но требуется создать методexecute(), чтобы поместить всю бизнес-логику внутрь и вернуть значение String, чтобы сообщить пользователю, куда перенаправить.

Note
Вы можете увидеть, что некоторые пользователи реализуют классthe com.opensymphony.xwork2.Action, но это совершенно необязательно, потому чтоcom.opensymphony.xwork2.Action просто предоставляет только некоторые удобные постоянные значения.

Note
Класс Action Struts1 требуется для расширенияorg.apache.struts.action.Action. Но класс Struts 2 Action является необязательным, но вы все равно можете реализоватьcom.opensymphony.xwork2.Action для некоторых удобных постоянных значений или расширитьcom.opensymphony.xwork2.ActionSupport для некоторых общих функций реализации Action по умолчанию.

5. Файл конфигурации Struts

Файл конфигурации Strut, чтобы связать все вещи вместе. The xml file name must be “struts.xml”.

Файл: struts.xml






    
        
            pages/login.jsp
        
        
            pages/welcome_user.jsp
        
    

Объявите пакет и деформируйте классы действий внутри, классы действий говорят сами за себя, но вас может заинтересовать следующий новый тег:

1. package name=”user”
Просто имя пакета, мне все равно.

2. namespace=”/User”
Используется для сопоставления с шаблоном URL «/ User». См. Эту статью -Struts 2 namespace example and explanation.

Note
На самом деле пространство имен Struts2 эквивалентноStruts 1 multiple modules

3. extends=”struts-default”
Это означает, что пакет расширяет компоненты пакета struts-default и перехватчики, которые объявлены в файлеstruts-default.xml, расположенном в корне файлаstruts2-core.jar.

6. web.xml

Настройте файл дескриптора развертывания веб-приложения (web.xml) для интеграции Struts2 с вашим веб-проектом.

Файл web.xml




    Struts 2 Web Application

    
        struts2
        
                org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
                
    

    
        struts2
        /*
    

7. Запустить его

В Struts2 вы можете получить доступ кaction class directly with a suffix of .action.

struts2 hello world example1

struts2 hello world example2

Скачать это

Скачать -Struts2-Hello-World-Example.zip (7 КБ)