2012-06-28 55 views
0

當鏈接href中存在大括號時,將其轉換爲十六進制代碼。我有一個電子郵件功能,它發送一個URL(其中有大括號)。點擊電子郵件中的鏈接時,大括號會轉換爲其十六進制代碼(%7B和%7D),導致無法打開網頁。 我使用jsp,javascript和html。當用作鏈接href時,將大括號轉換爲十六進制代碼

我從表單(包括要發送的鏈接)獲取詳細信息併發送到jsp頁面。該鏈接使用javascript encodeURIComponent編碼,並使用java.net.URLDecoder.decode(str,「UTF-8」)在jsp中解碼。這完美地解碼值,但是當它被寫爲鏈接的href時,只有花括號轉換爲十六進制代碼。

及其土坯scene7圖像URL這是一樣的東西

www.somedomain.com/PROD_NAME?wid=600 &銳化= 1種&顏色= 235,198,59 & OBJ =襯衫/ shirt_fabric /口袋&貼花&尖銳= 0 & SRC = {是採樣/ TEST3/UGC // 9895846.tif?WID = 150} & POS = 0,1.2 &解析度= 30

它,因爲它是出現在郵件,但是,當該鏈路上點擊它在瀏覽器中顯示爲

www.somedomain.com/PROD_NAME?wid=600 &銳化= 1種&顏色= 235,198,59 & OBJ =襯衫/ shirt_fabric /口袋&貼花&尖銳= 0 & SRC =是%7Bsample/TEST3/UGC // 9895846 .tif?wid = 150%7D & pos = 0,1.2 & res = 30

並且這會導致處理url失敗。

感謝

+0

請張貼一些代碼和之前的相關部分/網址之後。 –

+0

爲什麼它解碼失敗?它可以與其他編碼字符一起使用嗎? – Bergi

+0

您可以將您的問題重命名爲「如何在jsp中解碼[百分比編碼](http://en.wikipedia.org/wiki/Percent-encoding)大括號」,如果這是您想要的。 – Bergi

回答

1

如果您還沒有碰到過一個解決方案來呢,你可以替換括號中的大括號。

例如:

www.somedomain.com/PROD_NAME?wid=600&sharpen=1&color=235,198,59&obj=shirt/shirt_fabric/pocket&decal&sharp=0&src=is{sample/test3/ugc//9895846.tif?wid=150}&pos=0,1.2&res=30

www.somedomain.com/PROD_NAME?wid=600&sharpen=1&color=235,198,59&obj=shirt/shirt_fabric/pocket&decal&sharp=0&src=is(sample/test3/ugc//9895846.tif?wid=150)&pos=0,1.2&res=30

+1

感謝您的答覆,但是這將無法正常工作。正如我所提到的,這是一個scene7圖片網址,它將顯示錯誤的網址格式不正確。所以我把它作爲附件發送,而不是發送網址。 – Sree

+1

比較:[Curly Brackets](http://s7d7.scene7.com/is/agm/S7Web/Photo_Card-2pg-2?&page=1&fmt=png&wid=648&cache=off&$Name=Scene7%20Guest&$Pg1_Line1=Happy% 20Birthday&$ Pg1_Line2 =許多%20Happy%20Returns&$ Text_Color = 070707&$ Background_color = c4e2ed&$ Font = Cochin%20LT%20Std&$照片=是{S7WebUGC2/ugc/1804769.tif})[括號](http:// s7d7。 scene7.com/is/agm/S7Web/Photo_Card-2pg-2?&page=1&fmt=png&wid=648&cache=off&$Name=Scene7%20Guest&$Pg1_Line1=Happy%20Birthday&$Pg1_Line2=Many%20Happy%20Returns&$Text_Color=070707&$ BACKGROUND_COLOR = c4e2ed&$字體=知%20LT%20Std&$照片=是(S7WebUGC2/UGC/1804769.tif)) – rhutchison

相關問題