java - 重定向时 URL 中的冒号?

标签 java web-applications salesforce urlencode apex

我有一个如下的网址。

http://editor-sandbox.multiscreensite.com/home/dashboard?stat:339716385fb44bffae0d915cece952b8&dm_sso=2!eyJ2ZXJz

这里的 url 中有冒号 (:)

现在我将重定向 URL,如下所示。

pageRef= new PageReference(aboveURL);
                pageRef.setRedirect(true);      
                return pageRef;

但是在浏览器中,它会删除所有 url 参数,浏览器中的最终 URL 是:

http://editor-sandbox.multiscreensite.com/home/dashboard

如何保留 URL 中的所有值(包括冒号)?

最佳答案

冒号是 URL 中的保留字符(请参阅 RFC 3986)。只要值有可能包含保留字符,您就应该对其进行 urlencode(这会将 : 替换为 %3A,将 ! 替换为 %21,以及其他(如果有):

url = 'http://editor-sandbox.multiscreensite.com/home/dashboard?'
    + EncodingUtil.urlEncode('stat:339716385fb44bffae0d915cece952b8,'UTF-8')
    + '&dm_sso='
    + EncodingUtil.urlEncode(2!eyJ2ZXJz','UTF-8');

关于java - 重定向时 URL 中的冒号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36990390/

相关文章:

web-applications - TeamCity MSBuild 网站发布项目

php - 设置来自第三方域的 cookie

javascript - 如何在 Node (jsforce) 中使用 SOAP/REST API 创建 PushTopic

javascript - Apex getter 返回错误值

java - 使用 Java 在笔记本电脑之间进行基于 MAC 的通信

python - MySQL - 用于数据分析和统计的网络界面

java - Gmail REST API : Using Google Credentials Without Impersonate

Salesforce 触发外部程序

java - 如何强制退出Android应用程序并重新启动它?

java - 在 ViewScop 上写入 404 并在 JAVA JSF 中不重定向显示错误文件