Struts 2 Hello World Exemple

Exemple de Struts 2 Hello World

Dans cet exemple, nous vous montrons comment créer un exemple de bonjour dans Struts 2.

Les bibliothèques ou outils suivants sont utilisés:

  • Maven 3

  • Eclipse 3.7

  • Struts 2.3.1.2

1. Structure finale du projet

Examinons la structure finale du projet de ce didacticiel, au cas où vous vous perdriez dans les étapes ultérieures.

struts2 foder structure

2. Dépendances de Struts2

Utilisez Maven pour télécharger l'intégralité des dépendances Struts2. Ajoutez «struts2-core» enpom.xml.

Fichier: 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. Convertir en projet Eclipse

Compilez et convertissez le projet Web Eclipse à l'invite de commande:

mvn eclipse:eclipse -Dwtpversion=2.0

Consultez le fichier .classpath Eclipse, les dépendances Struts2 suivantes sont téléchargées:

Fichier: .classpath


  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

4. Pages d'affichage JSP

Une page de connexion JSP pour utiliser les balises Struts 2 pour afficher les champs de saisie du nom d'utilisateur et du mot de passe et le bouton Soumettre.

Fie: login.jsp

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



    

Struts 2 Hello World Example

File : welcome_user.jsp - Une page de vue JSP pour afficher un message de bienvenue à l'utilisateur.

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



    

Struts 2 Hello World Example

Hello

Struts 1 et Struts 2 ont une syntaxe de balises d'interface utilisateur très similaire, juste un peu différente en termes de dénomination des éléments HTML, par exemple:

Jambes 1

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

   

Struts 2

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

    

5. Action, mettez toute la logique métier ici

Une simple classe Struts2 Action, elle est utilisée pour déclarer toute la logique métier à l'intérieur.

Fichier: 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";

    }
}

Dans Struts2, la classe Action n'est pas nécessaire pour implémenter une interface ou étendre une classe, mais elle est nécessaire pour créer une méthodeexecute() pour mettre toute la logique métier à l'intérieur et renvoyer une valeur String pour indiquer à l'utilisateur où rediriger.

Note
Vous verrez peut-être certains utilisateurs implémenter la classethe com.opensymphony.xwork2.Action, mais c'est totalement facultatif, car lecom.opensymphony.xwork2.Action ne fournit que des valeurs constantes pratiques.

Note
La classe Action de Struts1 est requise pour étendre lesorg.apache.struts.action.Action. Mais la classe Action Struts 2 est facultative, mais vous êtes toujours autorisé à implémenter lescom.opensymphony.xwork2.Action pour certaines valeurs de constantes pratiques ou étend lescom.opensymphony.xwork2.ActionSupport pour certaines fonctions courantes d'implémentation Action par défaut.

5. Fichier de configuration Struts

Un fichier de configuration Strut pour lier toutes les choses ensemble. The xml file name must be “struts.xml”.

Fichier: struts.xml





    
        
            pages/login.jsp
        
        
            pages/welcome_user.jsp
        
    

Déclarez un package et déformez les classes d'actions à l'intérieur, les classes d'actions sont explicites, mais vous pouvez être intéressé par la nouvelle balise suivante:

1. package name=”user”
Juste un nom de paquet, ne vous en souciez pas vraiment.

2. namespace=”/User”
Il est utilisé pour correspondre au modèle d'URL "/ User". Voir cet article -Struts 2 namespace example and explanation.

Note
En fait, les espaces de noms Struts2 équivalent àStruts 1 multiple modules

3. extends=”struts-default”
Cela signifie que le package étend les composants et intercepteurs du package struts-default, qui sont déclarés dans le fichierstruts-default.xml, situé à la racine du fichierstruts2-core.jar.

6. web.xml

Configurez le fichier Descripteur de déploiement d'application Web (web.xml) pour intégrer Struts2 à votre projet Web.

Fichier web.xml




    Struts 2 Web Application

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

    
        struts2
        /*
    

7. Exécuter

Dans Struts2, vous pouvez accéder auxaction class directly with a suffix of .action.

struts2 hello world example1

struts2 hello world example2

Télécharge le

Téléchargez-le -Struts2-Hello-World-Example.zip (7 Ko)