我有2个jsp页面,其中在share.jsp的文本框中输入的值被编码,解码在forwarded.jsp页面中完成。如果在txt框中输入的文本是“xyz +”,那么解码是不正确的,解码结果只是“xyz”,即“+”不会被解除。
两个页面中的页面编码相同:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
片段: -
share.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还有“+”没有解码如何逃避/阻止这个?
答案 0 :(得分:0)
encodeURI javascript函数“encodes special characters, except: , / ? : @ & = + $ # (Use encodeURIComponent() to encode these characters)”
您提供的示例页面似乎正常工作......空格被编码为+,因此+ +将被解码为空格。如果你编码+它将变成%2B。