Struts 2 - L'étiquette du générateur

Souvent, nous rencontrons des situations dans lesquelles nous devons créer une liste ou un tableau à la volée et parcourir la liste. Vous pouvez créer la liste ou le tableau à l'aide de scriptlets ou vous pouvez utiliser legenerator marque.

Créer une classe d'action

package com.tutorialspoint.struts2;

public class HelloWorldAction {
   private String name;

   public String execute() throws Exception {
      return "success";
   }
   
   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }
}

Créer des vues

Laissez-nous HelloWorld.jsp pour démontrer l'utilisation du generator étiquette -

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

<html>
   <head>
      <title>Hello World</title>
   </head>
   
   <body>
      <h2>Example of Generator Tag</h2>
      <h3>The colours of rainbow:</h3>

      <s:generator val = "%{'Violet,Indigo,Blue,
         Green,Yellow,Orange,Red '}" count = "7" separator = ",">
         <s:iterator>
            <s:property /><br/>
         </s:iterator>
      </s:generator>	
      
   </body>
</html>

Ici, nous créons un generatortag et nous lui demandons d'analyser la chaîne qui contient une liste de couleurs séparées par des virgules qui forment un arc-en-ciel. Nous disons à la balise du générateur que le séparateur est "," et nous voulons les sept valeurs de la liste.

Si nous ne sommes intéressés que par les trois premières valeurs, alors nous définirions le nombre sur 3. Dans le corps de la balise du générateur, nous avons utilisé l'itérateur pour parcourir les valeurs créées par la balise du générateur et nous imprimons la valeur de la propriété .

Fichiers de configuration

Votre struts.xml devrait ressembler à -

<?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">
<struts>
   <constant name = "struts.devMode" value = "true" />
   <package name = "helloworld" extends = "struts-default">
     
      <action name = "hello" 
         class = "com.tutorialspoint.struts2.HelloWorldAction" 
         method = "execute">
         <result name = "success">/HelloWorld.jsp</result>
      </action>
   </package>
</struts>

Votre web.xml devrait ressembler à -

<?xml version = "1.0" Encoding = "UTF-8"?>
<web-app xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xmlns = "http://java.sun.com/xml/ns/javaee" 
   xmlns:web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee 
   http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
   id = "WebApp_ID" version = "3.0">
   
   <display-name>Struts 2</display-name>
   
   <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>
   
   <filter>
      <filter-name>struts2</filter-name>
      <filter-class>
         org.apache.struts2.dispatcher.FilterDispatcher
      </filter-class>
   </filter>

   <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
   </filter-mapping>
</web-app>

Faites un clic droit sur le nom du projet et cliquez sur Export > WAR Filepour créer un fichier War. Déployez ensuite ce WAR dans le répertoire webapps de Tomcat. Enfin, démarrez le serveur Tomcat et essayez d'accéder à l'URLhttp://localhost:8080/HelloWorldStruts2/hello.action. Cela produira l'écran suivant -