2016-05-03 20 views
0

Wir können beide Struts1 und 2 in einer Anwendung haben. Ich habe mehr als 100 URLs in Struts1 definiert und ich migriere diese URLs zu Struts2.Can Struts1 und Struts2 können dieselbe URL-Erweiterung (* .do) in einer Anwendung haben?

Angenommen sagen, meine URL wie

1. something1.do 
2. something2.do 
.... 
100. something100.do 

und von dem ich die oben genannte URL einige URLs in Struts2 konfigurieren möchten.

Daher meine Frage ist, können wir eine Reihe von URLs mit Erweiterung von (.do in Struts1 und einige Reihe von URLs in Struts2 konfigurieren.

Antwort

1

Ja, Sie können, aber es wird Komplexitäten einführen, wenn Sie vorhandene URLs halten müssen .

Wenn Sie das Muster der Struts 1-URLs nicht ändern können und keinem eindeutigen Namespace vorangestellt werden können, müssen Sie statische Struts 2-Ressourcen aus dem Dateisystem bereitstellen, statt von S2 verarbeiten zu lassen Sie können S1 URLs ändern, dann ist es einfach, indem Sie die S1-Servlet-Zuordnung ändern.

Eine weitere Option ist die Verwendung eines Filters oder S2-Interceptors, um bekannte S1-Mappings in der S1-App einem anderen Namespace zuzuordnen. Dies erfordert einige kleinere web.xml-Änderungen, wenn Sie die alte S1-URL anzeigen möchten.

Es wäre sauberer und einfacher, verschiedene Erweiterungen zu verwenden. Es gibt keine grundlegenden Probleme beim Mischen der beiden Frameworks in derselben App. Wenn Sie von einer S1-Seite auf eine S2-Aktion verlinken, müssen Sie die URL manuell erstellen, da sich die Taglibs gegenseitig nicht kennen.

+0

kann ich ein Beispiel haben :) –

+0

@JeyGanesh Ich würde nur suchen die Web-spezifischen hängt sehr von Ihren ultimativen Anforderungen, bestehenden App-Struktur, etc. –