سؤال

باستخدام إطار الربيع هنا ...

قمت بإنشاء مرشح لتغيير نص استجابة ملفات CSS وإذا استدعاء عنوان URL مباشرة يعمل. ومع ذلك، في حالة مطابقة قاعدة Urlrewrite، يتم تخطي المرشح.

مثال: في Web.xml: giveacodicetagpre.

هناك تعيين تعيين مثل هذا في urlrewrite.xml: giveacodicetagpre.

(نحتاج إلى هذا لعدة أسباب)

لذلك، أي ملف * .css الذي يبدأ مساره W / "/ أنماط-خاصة /" سيتم إعادة كتابته إلى "/ أنماط /" وسيتم استدعاء CSSFilter، ولكن أي ملف * .css الذي يبدأ مساره / "/ أنماط /" ستجري من خلال CSSFilter كما هو متوقع.

لقد حاولت تغيير نمط URL ل CSSFilter إلى عدد من الخيارات المختلفة، ولكن نفس النتيجة. يبدو لي مثل تصفية Tuckey Urlrewrite Filter فقط لا تتصل بالسلسلة. Dofilter () بعد إعادة كتابة، ولكن ربما يكون الأمر أكثر تعقيدا من ذلك؟

أي فكرة عما قد تكون المشكلة هنا؟ هل هذه الوظيفة المتوقعة؟ أي حلول؟ ... ربما اعتراض أو وحدة تحكم هو الطريق للذهاب هنا؟

شكرا مقدما على أي نصيحة حول هذا !!


ملاحظة: باستخدام ما يلي (كما اقترح بواسطة Axtavt): giveacodicetagpre.

يعمل على إصلاح المشكلة W / Chaining ويتم تشغيل المرشح. ومع ذلك، أحصل على الخطأ التالي: giveacodicetagpre.

هنا مقتطف التعليمات البرمجية من Filter: giveacodicetagpre.

هل كانت مفيدة؟

المحلول

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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top