[JAVA] Übergang von Struts2 zu Spring MVC (Controller)

Voraussetzungen für die Migration von Struts 2 zu Spring MVC

Das einfachste Verfahren ist

Andere Ersetzungen umfassen Validation, View und Interceptor. Sie können jedoch zu Modulen gemacht werden, die von Struts2 unabhängig sind, sodass sie nacheinander ersetzt werden können. Diesmal ist die Controller Edition.

Annahmen zur Aktionsklasse

Die Action-Klasse von Struts2 soll mit Anmerkungen unter Verwendung des ** Convention-Plug-Ins ** beschrieben werden. Wenn Sie das Convention-Plug-In nicht installiert haben, wenden Sie zuerst das Convention-Plug-In an und fügen Sie die Struts2-Annotation in die Action-Klasse ein.

Struts2 Official: Convention Plugin: https://struts.apache.org/docs/convention-plugin.html Qiita: Struts2-Aktionsklasse basierend auf Annotation schreiben (2016 Spring Ver.) Http://qiita.com/alpha_pz/items/4a97df916102dad2e2bc

Aktionsklasse nach Anwendung der Konvention

Die Implementierung der Action-Klasse ist wie folgt

Behalte es einfach.

DisplayListAction.java


// Struts2-Convention
@Namespace("/")        // (1)
@ParentPackage("struts-thymeleaf")
@Results({@Result(name=ActionSupport.SUCCESS,type="thymeleaf-spring",location="list")})        // (3)
// Spring framework
@Controller
@Scope("prototype")
public class DisplayListAction extends ActionSupport {

    @Action("list") // Struts2-Convention        // (2)
    public String execute() throws Exception {
        products = service.search(param);
        return SUCCESS;
    }

    @Autowired // Spring framework
    ProductService service;

    @Setter        // (4)
    private String param;

    @Getter @Setter // Lombok        // (5)
    List<SampleProduct> products;
}

Wenn Sie auf diesen Punkt eingrenzen, können Sie ihn durch den Spring MVC Controller ersetzen.

Zum Controller der Feder MVC

DisplayListController.java


@Controller
@RequestMapping("/")        // (1)
public class DisplayListController {

    @GetMapping("list")        // (2)
    public ModelAndView index(@RequestParam String param, ModelAndView mnv) {        // (4)
        List<SampleProduct> products = service.search(param);

        mnv.addObject("products", products);        // (5)
        mnv.setViewName("/list");        // (3)

        return mnv;
    }
}

Dies ermöglicht eine Eins-zu-Eins-Zuordnung.

# die Einstellungen Struts2 Convention Spring MVC
1 Pfad @Namespace @RequestMappings
2 Steuerpfad @Action @GetMapping,@Post Mapping etc.
3 Ansicht Ansicht @Results,@Result Gibt nur den Ansichtsnamen oder den Ansichtsnamen von ModelAndView zurück
4 Zu empfangende Parameter Mitgliedsvariable + Mutatormethode(※1) Methodenargumente
5 Inhalt zu antworten Mitgliedsvariable + Zugriffsmethode(※2) Rückgabewert der Methode

Bei der Migration ist es wichtig, die Controller-Service-Beziehung nach Spring MVC in die Action-Service-Beziehung zu bringen und das Anforderungs- / Antwortobjekt im Feld Action-Klasse in der Controller-Methode zu behandeln. Ist zu gehen.

Recommended Posts

Übergang von Struts2 zu Spring MVC (Controller)
Versuchen Sie Spring Boot von 0 bis 100.
Rüsten Sie den Federstiefel von der 1.5-Serie auf die 2.0-Serie auf
[Java Spring MVC] Entwicklungsbestätigungscontroller
Die Geschichte des Übergangs von Spring Boot 1.5 zu 2.1
[Rails] Zuweisen von Variablen vom Controller zu JavaScript
Änderungen bei der Migration von Spring Boot 1.5 auf Spring Boot 2.0
Änderungen bei der Migration von Spring Boot 2.0 zu Spring Boot 2.2
[Spring MVC] Übergeben von Pfadvariablen
Wichtige Änderungen in Bezug auf Spring Framework 5.0 Web MVC
[Reverse] Spring Security (von Zeit zu Zeit aktualisiert)
Testen Sie den Controller mit Mock MVC im Spring Boot
Übergang zu einem View Controller mit Swift WebKit
Berühren Sie alle "Anleitungen" des Frühlings (von Zeit zu Zeit aktualisiert)
Übergeben Sie die Formularklasse mit Spring-Boot vom Controller an Symleaf
Ich habe versucht, das Hochladen von Dateien mit Spring MVC zu implementieren
Verwendung von Struts2 * Spring Framework (Spring Plugin) Version Juni 2017
So stellen Sie auf einem virtuellen Server eine Verbindung von Spring zu MySQL her (ungelöst)
Push-Übermittlung von der Spring-Anwendung an Firebase Cloud Messaging
1. Starten Sie Spring Framework von 1
Schritte zum Bereitstellen von Struts 2.5.8
Von Java zu Ruby !!
So erhalten Sie eine leere Anfrage mit Spring Web MVC @RequestBody