Ho una risorsa che è un .
Questo significa il mio URL simile a questa: http://myapp/index/ .
e ho bisogno di aggiungere parametri di query in modo che assomiglia a questo: http://myapp/index/.?type=xml
io uso Freemarker per la presentazione delle mie risorse e ha fatto un hack percentuale di codifica per questo caso:Una risorsa URL che è un punto (% 2E)
<#if key?matches("\\.")>
<li><a href="${contextPath}/index/%2E">${key}</a></li>
</#if>
questo funziona bene per Firefox. Ma tutti gli altri browser come IE, Safari, Chrom, Opera ignorano semplicemente il mio punto codificato nell'URL (http://myapp/index/%2E
).
Qualche suggerimento?
mi sa che devo voglia che poi, thx. – cuh
Ho scoperto che anche se% 2e fa parte di un URL, ad es. 'http: // localhost/index% 2ehtml', Firefox (14) e Chrome lo convertono in un' .'. Questo è specificato nella sezione 2.3. Più avanti nella sezione 3.3, dice che '.' e' ..' sono per riferimento relativo all'interno del pathname. Quindi, 'http: // localhost /% 2e' significherebbe essenzialmente' http: // localhost/'. – slowpoison
Good point, @slowpoison - "Gli URI che differiscono nella sostituzione di un carattere non prenotato con il corrispondente ottetto US-ASCII codificato in percentuale sono equivalenti", e "." è un personaggio senza riserve. Ah bene. – phyzome