2013-04-02 24 views
10

JSP'de neden mutlak yolların kullanılması önerilmediğini açıklayabilir (ör. IntelliJ IDEA bana bir uyarı gösterir)? enter image description hereJSP mutlak yollar

+1

Çünkü IntelliJ, her zaman web içeriğinizin köküne göre bir yol kullanmanız gerektiğini fark edecek kadar akıllıdır. – duffymo

+0

Bu nedenle, yalnızca göreceli veya bağlam tabanlı yollar kullanmanın kesin bir kuralı yok mu? – sidlejinks

+1

Kural yok dostum. İstediğiniz şekilde yazın ve sonuçlarla yaşamak. – duffymo

cevap

21

JSP aşağıdaki kodu düşünün:

<script src="/path/to/script.js" /> 

Ve servlet bağlamında myContext yılında www.example.com uygulamayı dağıtmak, senaryonuz

www.example.com/path/to/script.js 

tarayıcı tarafından aranacaktır Ancak, tarayıcı komut dosyasını bulamaz.

<script src="${pageContext.request.contextPath}/path/to/script.js" /> 

Sonra bağlam yolu:

www.example.com/myContext/path/to/script.js 

Yani sizin JSP URL'yi değiştirmelisiniz: aslında containts URL servlet bağlamını yanı sıra parçasını bulunabilir URL Ayrıca URL'de mevcut ve her şey iyi çalışacaktır.

+0

Gerçekten de açıklama için çok teşekkür ederim! – sidlejinks

+0

Bu benim için hiç işe yaramadı. Sadece bir şey gibi seyir yolu ile dosyaları render: localhost: 8080/profile/$% 7BpageContext.request.context% 7D/css/profil/ –

+0

@MattPowell ifadeniz gibi görünüyor $ {...} 'değerlendirilmedi sağ. Bazı çerçeveler '# {...} 'yerine kullanılmasını gerektiriyor, bunu denediniz mi? – Uooo