كيف يمكنني إضافة <%= request.getContextPath() %> إلى جميع عناوين URL النسبية داخل صفحة jsp؟

StackOverflow https://stackoverflow.com/questions/157905

  •  03-07-2019
  •  | 
  •  

سؤال

الموضوع يقول كل شيء، تقريبا.كيف أقوم بإصلاح صفحات 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 رابط

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top