2014-10-10 35 views
5

我有這樣的VAR值的URL = P+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I=如何獲得的參數值,因爲它是從JSP

我通過這個參數在url

http://localhost/proj/home.jsp?var=P+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I=

現在回到Home.jsp我要使用VAR的這個價值,因爲它is.But當我這樣做

String var=request.getParameter("var"); VAR獲得價值

"P q EvhE951eg/I5nz1vi/w2YpJdH v/vSPaQNg/I="注意它用space代替+

所以任何人都可以幫助我解決這個問題。

+1

您需要在發送 – Arvind 2014-10-10 04:34:39

+0

之前編碼參數參數已經被編碼 – 2014-10-10 04:37:10

+0

您的容器可能有選擇地解碼文本而不用說你的話。您可能想要研究特定容器的編碼配置。或者只是用+自己替換所有空格 – kolossus 2014-10-10 17:22:45

回答

0

嘗試編碼PARAMS這樣的:

class Ideone 
{ 
    public static void main (String[] args) throws java.lang.Exception 
    { 
     String param = "P+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I="; 
     System.out.printf("Orginal Param: %s\n", param); 
     param = java.net.URLEncoder.encode(param, "utf-8"); 
     System.out.printf("Encoded Param: %s\n", param); 
    } 
} 

輸出:在地址

Orginal Param: P+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I= 
Encoded Param: P%2Bq%2BEvhE951eg%2FI5nz1vi%2Fw2YpJdH%2Bv%2FvSPaQNg%2FI%3D 
+0

[demo here](http://ideone.com/2DEnBC) – Arvind 2014-10-10 04:44:40

0

「+」 是指 「空間」。你可以用%2B來代替它。

對於實施例

queryString = queryString.replace('+', '%2B'); 

Reference Link

如果只有一個在查詢字符串參數。

你也可以通過request.getQueryString()得到這個 - 這裏不需要替換查詢字符串。

String urlContent = request.getQueryString(); 

輸出:VAR = P + Q + EvhE951eg/I5nz1vi/w2YpJdH + V/vSPaQNg/I =

相關問題