كيف يمكنني إضافة <%= request.getContextPath() %> إلى جميع عناوين URL النسبية داخل صفحة jsp؟
سؤال
الموضوع يقول كل شيء، تقريبا.كيف أقوم بإصلاح صفحات jsp تلقائيًا بحيث يتم تعيين عناوين URL النسبية إلى مسار السياق بدلاً من جذر الخادم؟وهذا هو، على سبيل المثال
<link rel="stylesheet" type="text/css" href="/css/style.css" />
كيف أقوم بإعداد الأشياء بطريقة تعين CSS عليها my-server/my-context/css/style.css
بدلاً من my-server/css/style.css
؟هل هناك طريقة تلقائية للقيام بذلك، بخلاف تغيير كافة الأسطر مثل ما ورد أعلاه إلى
<link rel="stylesheet" type="text/css"
href="<%= request.getContextPath() %>/css/style.css" />
المحلول
انظر في <BASE HREF="">
بطاقة شعار.هذه علامة HTML مما يعني أن جميع الروابط الموجودة على الصفحة يجب أن تبدأ بعنوان URL الأساسي الخاص بك.
على سبيل المثال، إذا حددت <BASE HREF="http://www.example.com/prefix">
ثم كان <a href="/link/1.html">
ومن المفترض أن ينقلك الرابط فعليًا إلى /prefix/link/1.html.يجب أن يعمل هذا أيضًا <LINK>
العلامات (ورقة الأنماط).
نصائح أخرى
ووأفضل طريقة هي أن HttpServletResponse.encodeURL () والتي سوف بناء appropria رابط