J’ai configuré mon application coldfusion pour avoir des URL dynamics sur la page, telles que
www.musicExplained/index.cfm/artist/:VariableName
Cependant, mes noms de variable contiennent parfois des barres obliques, telles que
www.musicExplained/index.cfm/artist/GZA/Genius
Cela pose un problème, car mon application suppose que la barre oblique dans le nom de la variable représente une section différente du site Web, les albums d’artistes. Donc, l’URL échouera.
Je me demande s’il y a de toute façon pour empêcher que cela se produise? Dois-je utiliser une fonction qui remplace les barres obliques dans les noms de variables par un autre caractère?
Vous devez échapper les barres obliques comme %2F
.
Vous pouvez facilement remplacer les barres obliques /
par quelque chose comme un trait de soulignement _
tel que Wikipedia utilise pour les espaces. Remplacer des caractères spéciaux par des traits de soulignement, etc., est une pratique courante.
Vous devez échapper à ceux-ci mais ne le remplacez pas par %2F
manuellement. Vous pouvez utiliser URLEncoder
pour cela.
Par exemple URLEncoder.encode(url, "UTF-8")
Alors vous pouvez dire
yourUrl = "www.musicExplained/index.cfm/artist/" + URLEncoder.encode(VariableName, "UTF-8")