私のプロジェクトでは、UIからHTTP postメソッドを使用してaccount<s
のような文字列をサーバーに渡しています。この値はHTTPServletのrequest.getParameter()
メソッドを使用してバックエンドで取得されます。 getParameter()は、エンコードされた文字列を返します。 account<s
の値はaccount& lt;s
request.getParameter()は破損したデータを返します - Java
としてフェッチされました。現在、UIではaccount<s
と表示する必要があります。値がaccount<s
としてエンコードされている場合は、UI部分でhtmlデコードを使用できます。しかし、エンコードされた文字列にはさらにスペースがあります。 <
の代わりに、& lt;
を取得しています。
のjQueryコード:
var params = {};
params.passVal = "account<s";
//ajax call
$.ajax({
type:"POST",
url:url,
data:params,
datatype:"json",
async:false
}).success(function(json){
//success notification
});
Javaコード:私はすべてのエンコードされた文字のためのApache Tomcat 7とjqueryのv2.1.3
を使用しています
String receivedVal = request.getParameter("passVal"); //account& lt;s
、スペースは第1文字と第2文字の間に追加されます。なぜそれはこのように振る舞うのですか?そして、元のデータをJavaでどのように入手できますか?
Hmm。 'request.getParameter()'はかなり信頼できます。パラメータを正しく送信してもよろしいですか?これはブラウザのフォームからですか?またはクライアントコード? – Thilo
パラメータはブラウザフォームから渡されます。 UIで渡された値をチェックしたところ、 'account
コードを投稿できますか? 'HTML'とjava'サーブレット 'のように – emotionlessbananas