0

share.jsp のテキスト ボックスに入力された値がエンコードされ、forwarded.jsp ページでデコードが行われる 2 つの jsp ページがあります。txt ボックスに入力されたテキストが "xyz +" の場合、デコードは正しくありません。デコード結果は "xyz" のみです。つまり、"+" はデコードされません。

両方のページのページ エンコーディングは同じです。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

スニペット:-

共有.jsp

document.getElementById('hiddenFolderList').value = (encodeURI(document.getElementById('folderId').value,"UTF-8"));

forwarded.jsp

String folders=java.net.URLDecoder.decode(request.getParameter("hiddenFolderList"),"UTF-8");

URL Encode and Decode Toolもチェックインしましたが、「+」はデコードされず、これをエスケープ/防止する方法はありますか?

4

1 に答える 1

0

encodeURI javascript 関数は "を除く特殊文字をエンコードします: , / ? : @ & = + $ # (encodeURIComponent() を使用してこれらの文字をエンコードします) "

あなたが提供したサンプルページは問題なく動作しているようです...スペースは + にエンコードされているため、+ はスペースとしてデコードされます。+ をエンコードすると、%2B になります。

于 2013-07-10T10:59:50.197 に答える