2014-10-10 23 views
5

Ho un valore come var = P+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I=Come ottenere il valore dei parametri in quanto è dall'URL con JSP

Ho passare questo parametro nel url come

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

Ora In home.jsp i vuole utilizzare questo valore di var come is.But quando faccio

String var=request.getParameter("var"); var ottenere il valore

"P q EvhE951eg/I5nz1vi/w2YpJdH v/vSPaQNg/I=" avviso sostituisce + con space.

Quindi qualcuno può aiutarmi a risolvere questo problema.

+1

È necessario codificare i parametri prima di inviarlo – Arvind

+0

Questo parametro è già codificato –

+0

vostro contenitore può essere decodifica selettiva del testo senza il tuo dire-così. Potresti voler ricercare le configurazioni di codifica per il tuo contenitore specifico. o semplicemente sostituisci tutti gli spazi con + te stesso – kolossus

risposta

0

params codifica Prova come questo:

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); 
    } 
} 

uscita:

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

[demo qui] (http://ideone.com/2DEnBC) – Arvind

0

"+" significa "spazio" in URL. puoi sostituirlo con% 2B.

Per esempio

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

Reference Link

se c'è solo un parametro nella stringa di query.

è inoltre possibile ottenere questo attraverso request.getQueryString() - Qui non è necessario sostituire stringa di query.

String urlContent = request.getQueryString(); 

Output: var = P + q + EvhE951eg/I5nz1vi/w2YpJdH + v/vSPaQNg/I =