Créez l'environnement Struts2 avec le projet Eclipse Gradle. (Pour une raison quelconque, j'ai reçu une erreur liée au préfixe = "s" du projet Web dynamique et cela n'a pas fonctionné, j'ai donc utilisé le projet Gradle)
** ① Créez un projet Gradle. ** ** Le nom du projet est approprié (Struts2_gradle dans ce cas), et cliquez sur le bouton "Terminer".
** ② Créez la structure des dossiers du projet dynamique. ** ** Faites un clic droit sur le Struts2_gradle créé → cliquez sur "Propriétés". Cliquez sur "Projet facette" dans la liste de gauche, puis cliquez sur "Convertir en forme de facette ...". Cochez "Dynamic Web Module" et cliquez sur "OK".
** ③ Réécrivez build.gradle. ** ** Réécrivez "build.gradle" existant dans le projet Struts2_gradle comme suit.
build.gradle
/*
* This build file was auto generated by running the Gradle 'init' task
* by 'nobu' at '17/06/18 8:36' with Gradle 2.14.1
*
* This generated file contains a sample Java project to get you started.
* For more details take a look at the Java Quickstart chapter in the Gradle
* user guide available at https://docs.gradle.org/2.14.1/userguide/tutorial_java_projects.html
*/
// Apply the java plugin to add support for Java
apply plugin: 'java'
// In this section you declare where to find the dependencies of your project
repositories {
// Use 'jcenter' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
// In this section you declare the dependencies for your production and test code
dependencies {
// The production code uses the SLF4J logging API at compile time
compile 'org.slf4j:slf4j-api:1.7.21'
// Declare the dependency for your favourite test framework you want to use in your tests.
// TestNG is also supported by the Gradle Test task. Just change the
// testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
// 'test.useTestNG()' to your build script.
testCompile 'junit:junit:4.12'
compile "org.apache.struts:struts2-core:2.3.15.1"
compile "javax.servlet:javax.servlet-api:3.1.0"
}
task copyDependencies(type:Copy) {
copy {
from configurations.runtime
into 'WebContent/WEB-INF/lib'
}
}
** ④ Ajoutez une bibliothèque. ** ** Faites un clic droit sur le projet Struts2_gradle → cliquez sur «Gradle» → cliquez sur «Refresh Gradle Project».
** ⑤ Créez un dossier / fichier comme indiqué ci-dessous. ** **
Structure des dossiers
Struts_gradle
├── build.gradle
├── src
│ └── main
│ └── java
│ └── com
│ └── tutorialspoint
│ └── struts2
│ └── HelloWorldAction.java
└── WebContent
├── HelloWorld.jsp
├── index.jsp
└── WEB-INF
├── logging.properties
├── web.xml
└── classes
└── struts.xml
** ⑥ Réécrivez le contenu du fichier. ** **
HelloWorldAction.java
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;
}
}
HelloWorld.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
Hello World, <s:property value="name"/>
</body>
</html>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello World</title>
</head>
<body>
<h1>Hello World From Struts2</h1>
<form action="hello">
<label for="name">Please enter your name</label><br/>
<input type="text" name="name" />
<input type="submit" value="Say Hello" />
</form>
</body>
</html>
logging.properties
org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = \
java.util.logging.ConsoleHandler
web.xml
<?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>Struts2</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>
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>
<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>
** ⑦ Exécutez le projet. ** ** Cliquez avec le bouton droit sur Struts2_gradle → cliquez sur "Exécuter" → "Exécuter sur le serveur". Ensuite, l'écran suivant apparaîtra.
J'ai téléchargé le fichier WAR du projet créé cette fois sur GitHub. GitHub_nobu1234(Struts_gradle)
tutorialspoint_Struts2 → Contenu du fichier Java et du fichier xml Essayez Struts2 (1) → Ajouter la bibliothèque Struts2 à build.gradle Copier les bibliothèques dépendantes avec Gradle → Comment ajouter des bibliothèques à WEB-INF / lib [Note!] Créez un WAR avec Gradle → Ajout de servlet-api à build.gradle en raison d'une erreur liée au servlet dans le fichier jsp.