重定向时URL中的冒号?

时间:2016-05-02 19:40:47

标签: java web-applications salesforce urlencode apex

我的网址如下所示。

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

这里的网址中有冒号(:)

现在我正在重定向网址,如下所示。

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

但在浏览器中,它删除了所有网址参数,浏览器中的最终网址为:

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

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

1 个答案:

答案 0 :(得分:1)

Colon是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');