2013-04-02 28 views
10

Qualcuno potrebbe spiegare perché i percorsi assoluti non sono consigliati per l'utilizzo in JSP (ad esempio, IntelliJ IDEA mostra un avviso)? enter image description herePercorsi assoluti JSP

+1

Perché IntelliJ è abbastanza intelligente da comprendere che è necessario utilizzare sempre un percorso relativo alla radice del proprio contesto web. – duffymo

+0

Quindi non esiste una regola rigida per utilizzare solo percorsi relativi o basati sul contesto? – sidlejinks

+1

Non ci sono regole, amico mio. Scrivilo come vuoi e vivi con le conseguenze. – duffymo

risposta

21

Si consideri il seguente codice nel tuo JSP:

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

E si distribuisce l'applicazione su www.example.com nel contesto servlet myContext, lo script sarà alzò gli occhi dal browser in

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

Tuttavia, il browser non troverà lo script. L'URL dove si può effettivamente essere trovato containts contesto servlet così come parte dell'URL:

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

così si dovrebbe modificare l'URL nel vostro JSP per:

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

Poi il percorso del contesto è disponibile anche nell'URL e tutto funzionerà bene.

+0

Grazie mille per la spiegazione! – sidlejinks

+0

Questo non ha funzionato affatto per me. Ha appena reso i file con il percorso simile a qualcosa: localhost: 8080/profile/$% 7BpageContext.request.context% 7D/css/profile/ –

+0

@MattPowell sembra come se la tua espressione '$ {...}' non sia stata valutata destra. Alcuni framework richiedono l'uso di '# {...}' invece, ci hai provato? – Uooo

Problemi correlati