Frage

hier mit frühlingsrahmen ...

Ich habe einen Filter erstellt, um die Antwortkörper von CSS-Dateien zu ändern, und wenn ich eine URL direkt anrufe, läuft es. Wenn jedoch eine URLREWRITE-Regel übereinstimmt, wird der Filter übersprungen.

Beispiel: In web.xml: generasacodicetagpre.

Es gibt ein Mapping so eingerichtet in urlrewrite.xml: generasacodicetagpre.

(wir brauchen dies aus einer Reihe von Gründen)

Also, jede * .css-Datei, deren Pfad mit dem Start von W / "/ Styles-special /" gestartet wird, wird auf "/ Styles /" geschrieben, und der CSSFilter wird nicht aufgerufen, sondern jede * .css-Datei, deren Pfad startet W / "/ Styles /" wird wie erwartet durch den CSSFilter ausgeführt.

Ich habe versucht, das URL-Muster für CSSFilter auf verschiedene Optionen zu ändern, sondern auch das gleiche Ergebnis. Es scheint mir, dass der Trukkey-URLREWRITE-Filter einfach nicht ketten.Dofilter () nach einem Umschreiben nennt, aber vielleicht ist es komplizierter als das?

Jede Idee, was das Problem hier sein könnte? Ist diese erwartete Funktionalität? Irgendwelche Problemumgehungen? ... Vielleicht ist ein Interceptor oder Controller der Weg, um hierzu gehen?

Vielen Dank im Voraus für jeden Ratschluss !!


Hinweis: Verwenden Sie das Folgende (wie von AXTAVT vorgeschlagen): generasacodicetagpre.

fixiert das Problem mit der Verkettung und der Filter wird ausgeführt. Ich erhalte jedoch den folgenden Fehler: generasacodicetagpre.

Hier ist Code-Snippet vom Filter: generasacodicetagpre.

War es hilfreich?

Lösung

When Tuckey UrlRewrite Filter rewrites a URL, it forwards request to the new URL instead of passing it down the filter chain. By default filters are not applied to the forwarded requests, so you need to configure it:

<filter-mapping>
     <filter-name>cssFilter</filter-name>
     <url-pattern>*css</url-pattern>
     <dispatcher>REQUEST</dispatcher>
     <dispatcher>FORWARD</dispatcher>
</filter-mapping>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top