-
Servlet : lien interne
Bonjour,
Dans une jsp, j'ai un lien d'accès interne à la page composé d'une servlet, de paramètres et d'un lien interne soit :
http://****/<servlet>?<paramètres>#lien_interne
Dans ma servlet, j'arrive à récupérer les paramètres (getQueryString()), par contre, je ne trouve pas l'astuce pour détecter que l'url contient le lien interne (ou contient simplement le caractère #)
Une idée ?
Modéré par zekey : Déplacé du forum langage : pensez à vérifier si vous postez dans le bon forum !!!
-
Il semblerait qu'il n'est pas possible de récupérer une ancre côté serveur ...
Quelqu'un pourrait-il le confirmer ?
-
Bonjour,
Tu ne peux pas mettre un caractère # dans une URL HTTP.
Le navigateur interprète cela comme un signet dans la page.
Dans ton exemple :
http://****/<servlet>?<paramètres>#lien_interne
Le navigateur va charger la page correspondant à l'URL
http://****/<servlet>?<paramètres>
Puis dans cette page, va se placer sur le lien_interne.
Le serveur ne reçoit pas l'URI http://****/<servlet>?<paramètres>#lien_interne
mais l'URL http://****/<servlet>?<paramètres>
Voir les RFC 1945 sur HTTP et 1738 sur les URL.
-
Peux-tu préciser un peu, parce que là, je ne vois pas où est le problème...
Si tu veux récupérer "#" dans ton url, tu n'as qu'à utiliser la méthode indexOf("#") puisque tu travailles sur un String...
J'ai dû raté quelque chose...
A+
-
Je confirme ce que dis seb55555, il n'est pas possible de récupérer côté serveur l'ancrage (#).
Je souhaitais récupérer cet ancrage car je voulais interrompre tout traitement dès lors que l'utilisateur ne faisait que se déplacer au travers de la page.
@OButterlin : c'est bien un indexOf que je souhaitais faire par la suite :lol:
Merci pour vos réponses, je mets le tag [RESOLU], j'ai dû me résoudre à faire du code moins "propre"