tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:URLの一部を取得

次のようなURLから必要な情報を取得する方法についてです。

https://c.naXX.visual.force.com/apex/SamplePage?id=aaa

 

★".getUrl()"を使う

ApexPages.currentPage().getUrl()

上記のように記載するとURLから次の部分を文字列として取得できます。

"/apex/SamplePage?id=aaa"

 

注意点として"?"以降のパラメータ部分もついてきます。

"?"以降がいらない場合は"split"関数などで対応する必要があると思われます。

 

★".getHeaders().get('Host')"を使う

ApexPages.currentPage().getHeaders().get('Host')

上記のように記載するとURLから次の部分を文字列として取得できます。

"c.naXX.visual.force.com"

 

注意点としては"https://"の部分がついてこないことだと思います。

わかっていればそんなに問題でもないかも。

 

"Force.com Apex Code Developer's Guide"の"PageReference Class"に

記載されていることなんですけど、使ってみないと気付かないものですね。

 

他にも関数がいろいろあるので、気づいていない便利処理が見つかるかも。

 

ちなみに"ApexPages.currentPage()"は開いているページのURLを

取得するためのものです。

 

この部分は"PageReference"型の変数に変更して使えます。