我在一个隐藏变量notesValue中设置notes(String),其中包含特殊字符,数字,字母等的混合,并打开一个新的jsp(nextPage)。

var Url='<%=request.getContextPath()%>/nextPage.jsp?notesValue='+document.forms[0].notesValue.value;

var Bars = 'directories=no, location=no,menubar=no,status=no,titlebar=no';
var Options='scrollbar=yes,width=350,height=200,resizable=no';
var Features=Bars+' '+Options;
alert("Url being sent ---> "+Url);
var Win=open(Url,'Doc5',Features);


在nextPage.jsp端,正在做:

String notes = request.getParameter("notesValue");


这里只得到纯文本,所有特殊字符都消失了。

例如:我设置的notesValue是:“ New Notes&';> / ...”

我在nextPage.jsp上收到的是:New Notes \

这是怎么回事 ?

最佳答案

编码string result

encodeURIComponent(document.forms[0].notesValue.value);

无需添加任何plugin。它内置在function中。

10-08 06:48