Struts 2 - La balise de texte

le texttag est une balise générique utilisée pour rendre un message texte I18n. Suivez l'une des trois étapes -

  • Le message doit se trouver dans un ensemble de ressources portant le même nom que l'action à laquelle il est associé. En pratique, cela signifie que vous devez créer un fichier de propriétés dans le même package que votre classe Java avec le même nom que votre classe, mais avec l'extension .properties.

  • Si le message nommé n'est pas trouvé, le corps de la balise sera utilisé comme message par défaut.

  • Si aucun corps n'est utilisé, le nom du message sera utilisé.

Vérifions l'exemple suivant pour comprendre l'utilisation de text étiquette -

Créer des classes 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 avec le contenu suivant -

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

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
   <head>
      <title>Text Tag Example</title>
   </head>
   
   <body>      
      <s:i18n name = "HelloWorldAction">
         <s:text name = "name.success"/><br>
         <s:text name = "name.xyz">Message doesn't exists</s:text><br>
         <s:text name = "name.msg.param">
            <s:param >ZARA</s:param>
         </s:text>
      </s:i18n>
   </body>
</html>

Fichiers de configuration

Créons un fichier de propriétés avec le même nom que le nom de votre package de classe d'action. Donc dans ce cas, nous allons créerHelloWorldAction.properties fichier et conserver dans le chemin de la classe -

name.success = This is success message
name.msg.param = The param example - param : {0}

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" />
   <constant name = "struts.custom.i18n.resources" value = "ApplicationResources"/>
   
   <package name = "helloaction" 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 -