21 Ocak 2011, Cuma
Nasıl bağlam kök adı dahil olmadan göreli yolları kullanmak için?
*2.* mutlak yolunu yazmam gerekiyor benim statik dosyası (CSS, JS) çalışma için style/main.css
gibi göreli yol yazacağıma dair herhangi bir çözüm var mı?
CEVAP
21 Ocak 2011, Cuma
Eğergerçekendişe web içeriği (""bölümü) AppName, sadece almak HttpServletRequest#getContextPath()
dinamik o zaman. dynamicness.
<head>
<link rel="stylesheet" href="${pageContext.request.contextPath}/templates/style/main.css" />
<script src="${pageContext.request.contextPath}/templates/js/main.js"></script>
</head>
<body>
<a href="${pageContext.request.contextPath}/pages/foo.jsp">link</a>
</body>
${pageContext.request.contextPath}
tekrar etmeye gerek yok, böylece tüm göreli bağlantıları için temel bir yol ayarlamak istiyorsanızhergöreli bağlantı <base>
etiketini kullanın. İşte JSTL functions yardımıyla bir örnek.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<head>
<c:set var="url">${pageContext.request.requestURL}</c:set>
<base href="${fn:substring(url, 0, fn:length(url) - fn:length(pageContext.request.requestURI))}${pageContext.request.contextPath}/" />
<link rel="stylesheet" href="templates/style/main.css" />
<script src="templates/js/main.js"></script>
</head>
<body>
<a href="pages/foo.jsp">link</a>
</body>
Her bağın (yani . bu ^em>değil/
ya da düzeni) ile başlayan <base>
göre olacak.
Bu arada özellikle herhangi bir şekilde Tomcat ile ilgili değildir. Sadece HTTP/HTML temelleri ile ilgili. Her diğer web sunucusu da aynı sorun olurdu.
Bunu Paylaş:
Nasıl css URL göreli/mutlak yolları ku...
Nasıl istek bağlam yolu olmadan URİ al...
Nasıl fare pozisyon almak için fare ol...
Nasıl stil için bir <select> sad...
Nasıl baskı yeni satır veya boşluk olm...