webForumDet fria alternativet

Koda bort tecken i en länk

5 svar · 297 visningar · startad av Jaar

JaarMedlem sedan juli 2001434 inlägg
#1

Jag behöver skicka med en parameter som kan innehålla tecken som webläsaren inte gillar (t.ex. +)
Trodde att response.encodeURL("testarMedEtt+Tecken") men det verkar inte hjälpa...

Hur ska man göra?

ViktorMedlem sedan aug. 20021 752 inlägg
#2

Tror du ska använda encodeRedirectURL istället.
Taget från Javadoc

encodeRedirectURL(java.lang.String url)
Encodes the specified URL for use in the sendRedirect method or, if encoding is not needed, returns the URL unchanged.

encodeURL(java.lang.String url)
Encodes the specified URL by including the session ID in it, or, if encoding is not needed, returns the URL unchanged.

/Viktor

JaarMedlem sedan juli 2001434 inlägg
#3

Det fungerade inte med response.encodeRedirectURL heller.
Eller troligen är det ju så att först tolkas det om till %2B på servern. Sen byggs sidan, då avdekodas det ju till att bli ett + tecken.

Så länken <a href="test.jsp?param=4%2B5">link</a> kommer ju hänvisa till test.jsp?param=4+5

Jag antar att det är så iaf. I annat fall avkodar inte funktionen rätt. I vilket fall som helst så behöver jag kunna skicka ett + som parameter o inte läsa det som ett mellanslag på nästkommande sida.

Finns det något annat, eller ska man ta o börja bygga en egen avkodare kanske :/

spangoMedlem sedan juni 20008 205 inlägg
#4

String encoded = URLEncoder.encoder("4+5", "utf-8");

JaarMedlem sedan juli 2001434 inlägg
#5

Men om webläsaren får "test.jsp?param=4%2B5" till sig, komemr det betyda att den tolkar det och skickar en vidare till test.jsp?param=4+5 och test.jsp kommer se + tecknet som ett mellanslag.

Tror jag kommer lösa det genom att anropa ett javascript som kör en enkel replace på alla + och ersätter med %2B. Verkar vara så som man får göra

spangoMedlem sedan juni 20008 205 inlägg
#6

Nej. Webbläsaren skickar det vidare (ska ~) som test.jsp?param=4%2B5 och således ska JSP-sidan få in "4+5" som värde för "param". Internet Explorer visar länkar avkodade (d.v.s., du skulle se texten test.jsp?param=4+5 i statusfältet i IE), men det skickas fortfarande kodat.

129 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)