Ich lese Struts2 in Aktion, und es wird gesagt, dass wenn Abfangjäger B Brände nach Abfangjäger A und B bestimmt, dass die Kontrolle nicht zu Aktion erlaubt sein soll, gehen (wie könnte es Validierungsfehler sein wie getan von DefaultWorkFLowInterceptor). Es gibt dann "Eingabe" zurück .. und die Seite wird dem Benutzer gerendert. Das Steuerelement kehrt dann zum Interceptor A zurück, aber A kann das Ergebnis jetzt nicht ändern, da die Seite bereits an den Client gesendet wurde.Warum kann ein Struts 2-Interzeptor die von nachfolgenden Interzeptoren erzeugte 'Ergebnis'-Seite nicht verändern?
Aber, da die Abfangjäger B kehrt nur eine Zeichenfolge, die Abfangjäger A einfach eine andere Zeichenfolge an seinem Platz, und ändert sich das Ergebnis zurückkehren können. DefaultWorkFLowInterceptor gibt nur eine Zeichenfolge zurück, schreibt jedoch nichts in den Antwortstream. Wenn also die Steuerung zu ihren vorhergehenden Interzeptoren zurückkehrt, warum können sie dann die Eingabe nicht ändern?
Ich möchte hier eine kleine Korrektur vorschlagen. Interzeptoren können vor [und/oder] nach der Ausführung einer Aktion ausgeführt werden. Die Interceptors, die diese nachbearbeiten müssen, werden nur in umgekehrter Reihenfolge aufgerufen, da nicht alle Interzeptoren teilnehmen würden. Bitte überprüfen Sie Ihren zweiten Punkt. –
@MohanaRaoSV: stimme zu und dies ist in Bezug auf den Interceptor-Stack, den wir konfigurieren und was ich einen generischen Fluss erklärt habe, wie S2 durch die Interceptor-Schicht läuft und was sie tatsächlich tun –