[JAVA] Dessin Struts2

Etudier Struts2

struts.xml


<?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>
  <!--Définition du package d'action-->
  <package name="default" extends="struts-default">
    <!--Exemple d'action Hello world-->
    <action name="hello" class="sample.HelloWorldAction" method="execute">
      <result name="success">/view/sample/HelloWorld.jsp</result>
    </action>
</struts>

index.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!--Activer la bibliothèque de balises Struts2-->
<%@ taglib prefix="s" uri="/struts-tags"%>
<!--Utiliser la déclaration de type HTML5-->
<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
  </head>
<body>
  <!--Le formulaire de saisie utilise les balises Struts2-->
  <s:form action="hello">
    <s:textfield name="name" />
    <s:submit value="Aller à la page Hello World" />
  </s:form>
</body>
</html>

HelloWorldAction.java


package sample;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
 * [Classe d'action HelloWorld]<br>
 * <br>
 * @author tarosa0001
 */
public class HelloWorldAction {
    /**Enregistreur*/
    private Logger logger = LogManager.getLogger(HelloWorldAction.class);

    /**Nom*/
    private String name;

    /**
     * [Processus d'exécution des actions]<br>
     *Exécutez le processus pour générer HelloWorld.<br>
     *La méthode à exécuter est struts.Implémentez en utilisant le nom de méthode spécifié dans xml.<br>
     *Dans Struts2, la destination de transition de page est déterminée par le résultat du traitement de l'action,
     *Cette fois"success"Renvoie la chaîne de caractères fixe de.<br>
     * <br>
     * @return
     */
    public String execute() {
        logger.info("Le paramètre entré est "{}"est.", name);
        return "success";
    }

    /**
     * [Processus d'acquisition de nom]<br>
     *Obtenez le nom.<br>
     *Lorsque Struts2 utilise la valeur saisie dans le formulaire comme paramètre
     *Comme getter est utilisé, les informations que vous souhaitez utiliser comme paramètre sont
     *Déclarez-le comme propriété de la classe Action et préparez un getter.
     * <br>
     * @nom de retour
     */
    public String getName() {
        return name;
    }

    /**
     * [Processus de définition du nom]<br>
     *Définissez le nom.<br>
     *Comme avec getter, préparez un setter pour les valeurs que vous souhaitez transmettre entre les pages.<br>
     * <br>
     * @nom du paramètre nom
     */
    public void setName(String name) {
        this.name = name;
    }
}

HelloWorld.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Hello Struts2 world!</title>
  </head>
  <body>
    <!--Affiche les données transmises entre les messages.-->
    Hello Struts2 world, <s:property value="name" />M.
  </body>
</html>

web.xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Struts2-01</display-name>
  <welcome-file-list>
    <!--Afficher les paramètres du fichier lorsqu'il est habituellement à la racine de l'application-->
    <!--Ce n'est pas nécessaire, mais cette fois pour éviter les erreurs de saisie d'URL, d'index.Seulement jsp.-->
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <!--Filtre de servlet Struts2-->
  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>

  <!--Définition du filtre à utiliser pour l'URL-->
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

Autre

web.xml


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
  </head>
<body>
  <s:form action="sample_tag">
page<br/>
    s:textfield<s:textfield name="user_id" value="USER_ID" size="24" label="Identifiant d'utilisateur"/><br/><br/>
    s:password<s:password name="password" value="PASSWD" size="24" label="mot de passe"/><br/><br/>
    s:hidden<s:hidden name="item_id" value="HIDDEN"/><br/><br/>
・ Sélectionnez le test(Célibataire)
    <select name="select1">
      <option value="1">Vers la page du résultat 1</option>
      <option value="2">Vers la page du résultat 2</option>
    </select><br/><br/>
・ Sélectionnez le test(Multi)
    <select name="select2" multiple="multiple">
      <option value="A">Type A</option>
      <option value="B">Type B</option>
      <option value="O">Type O</option>
      <option value="AB">Type AB</option>
    </select><br/><br/>
・ Test de case à cocher
    <input type="checkbox" name="chbox1" value="1" checked="checked" />intéressant
    <input type="checkbox" name="chbox1" value="2" />Utile
    <input type="checkbox" name="chbox1" value="3" checked="checked" />Pas assez bon
    <br/><br/>
・ Test radio
    <input type="radio" name="radio1" value="1" checked="checked" />bien
    <input type="radio" name="radio1" value="2" />mal
    <br/><br/>
    <s:submit value="SUBMIT!!" />
  </s:form>
</body>
</html>

Sample01Action.java


package sam.tag;

/**
 * @author
 */
public class Sample01Action extends AbstractAction{

    private String user_id;
    private String password;
    private String item_id;

    private String select1;
    private String select2;

    private String chbox1;
    private String radio1;

    /**
     * [Processus d'exécution des actions]<br>
     * @return
     */
    public String execute() {
//        final String className = new Object(){}.getClass().getEnclosingClass().getName();
        final String methodName = new Object(){}.getClass().getEnclosingMethod().getName();
//        System.out.println("className::" + className);
//        System.out.println("methodName :" + methodName);

        logger.info("▼ Démarrer ▼:{}",methodName);
        logger.info("Le paramètre entré est "{}"est.", toString());

        short nextPage = Short.parseShort(select1);

        try {
            if (nextPage == 1) {
                return "success1";
            } else {
                return "success2";
            }
        } catch (Exception e) {
            return "error";
        } finally {
            logger.info("▲ Fin ▲: exécuter()");
        }
    }

    @Override
    public String toString() {
        return "Sample01Action [user_id=" + user_id + ", password=" + password + ", item_id=" + item_id + ", select1="
                + select1 + ", select2=" + select2 + "]";
    }

    //Vous trouverez ci-dessous des getters et des setters générés automatiquement
    public String getUser_id() {
        return user_id;
    }

    public void setUser_id(String user_id) {
        this.user_id = user_id;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getItem_id() {
        return item_id;
    }

    public void setItem_id(String item_id) {
        this.item_id = item_id;
    }

    public String getSelect1() {
        return select1;
    }

    public void setSelect1(String select1) {
        this.select1 = select1;
    }

    public String getSelect2() {
        return select2;
    }

    public void setSelect2(String select2) {
        this.select2 = select2;
    }

    public String getChbox1() {
        return chbox1;
    }

    public void setChbox1(String chbox1) {
        this.chbox1 = chbox1;
    }

    public String getRadio1() {
        return radio1;
    }

    public void setRadio1(String radio1) {
        this.radio1 = radio1;
    }

}

result1.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Page de résultats</title>
  </head>
  <body>
Résultat 1 page<br/>
    s:textfield:<s:property value="user_id" /><br/>
    s:password:<s:property value="password" /><br/>
    s:hidden:<s:property value="item_id" /><br/>
    select1:<s:property value="select1" /><br/>
    select2:<s:property value="select2" /><br/>
    checkbox:<s:property value="chbox1" /><br/>
    radio:<s:property value="radio1" /><br/>
  </body>
</html>

Recommended Posts

Dessin Struts2
Rédaction de log4j2