首页 > 代码库 > Java WEB 之页面间传递特殊字符

Java WEB 之页面间传递特殊字符

本文是学习网络上的文章时的总结以及自己的一点实践,感谢大家无私的分享。

昨天在做项目的时候,有一个页面间传递特殊字符的需求,查了一些资料,现在将自己的经验写出来。

首先,在前台编码

var fckPurpose=encodeURIComponent($.trim(jQuery("#fckPurpose").val()));

encodeURIComponent、encodeURI和escape三个函数差别在于个别字符是否编码的问题。

参考:

escape()、encodeURI()、encodeURIComponent()区别详解


然后在再后台(java)对字符做处理,因为Java中有一些字符有特殊含义

fckPurpose = fckPurpose.replaceAll("%", "%25");
			fckPurpose = fckPurpose.replaceAll("\\+", "%2B");
			fckPurpose = fckPurpose.replaceAll("/", "%2F");
			fckPurpose = fckPurpose.replaceAll("\\?", "%3F");
			fckPurpose = fckPurpose.replaceAll("#", "%23");
			fckPurpose = fckPurpose.replaceAll("&", "%26");

特殊字符在前台的转换码,参见:URL 中“+”加号的问题

这样基本可以了

Java WEB 之页面间传递特殊字符