2017-02-20 8 views
-1

私は、私のJSPから私のサーブレットにurl解析の値を送っています。JavaのURLから送信された特殊文字のデコード方法は?

この値には特殊文字()が含まれていますが、値を受け取ったときには&#40&#41です。

これをデコードする方法を()に戻しますか?

JSPコード

var devicename=document.getElementById('s_loc_1').value;  
    var param=devicename; 
    param=encodeURIComponent(devicename); 
    var updatedevsaturl="http://"+window.location.host+"/services/PCEquipmentDevice?productid={}&action=updatePCDeviceStatus&reqby={}&param="+param; 
    var productId=document.getElementById('pid').value; 
    updatedevsaturl=sustituteParameter(updatedevsaturl,productId); 
    updatedevsaturl=sustituteParameter(updatedevsaturl,userUpi); 
    alert(updatedevsaturl); 
    $.ajax({ 
     type : "GET", 
     timeout:20000, 
     url : updatedevsaturl, 
     async: false, 
     dataType : "xml", 
     success: function(data) { }, error: function (xhr, ajaxOptions, thrownError) { 
      alert('Service Unavailable - VPU List'); 
     } 
    }); 

JSP 2-IN-1ラップトップで、私はすべての方法がネット上で提供しようとした

if(action.equals("updatePCDeviceStatus")){ 
     System.out.println("param: "+param); 
     //String decodeparam3 = new String(param.getBytes("UTF-8"),"ASCII"); 
     //String decodeparam3 =URLDecoder.decode(param, "UTF-8"); 
     String decodeparam3= URLDecoder.decode(param, "ISO-8859-1");  
     System.out.println("decodeparam132 "+ decodeparam3); 

しかしdidntのworkenterコードここ

入力をデコードするためのJavaコード(12.5インチ) サーブレットでの出力2-in-1ラップトップ&#4012.5インチ&#41

+0

例えば、私の入力は2in1ラップトップ(12.5inch)で、サーブレットを取得するのは2in1のラップトップです( 12.5 inches ) –

+0

あなたには十分な文脈がありません。 [mcve]を投稿してください。 – shmosel

+0

これはURLエンコードではありません。これらはHTMLエスケープシーケンスであり、あなたのJSPからそれらのようなものを送るべきではありません。これらの文字を送信するJSPにフォームを投稿してください。 – RealSkeptic

答えて

0

"("のASCIIコードです。この回答を見てくださいJava: How to unescape HTML character entities in Java?。そのhtmlエンティティからcharを作成する必要があります。

+0

Pardon?これは、提案のおかげで答えは –

+0

です。それは働いた –

+0

あなたは歓迎です –

関連する問題