前頁 次頁 目次

3.9 相対URLの指定方法

 Webページのデザインや電子フォームのデザインの説明で、FNSシステム機能を呼出すためにFNSシステム所定のURLの参照方法について述べましたが、そこではhttps://・・・から始まるいわゆる絶対URLを使用しています。しかし、相対URLを使用すれば、もっと簡単にFNSシステムの機能を呼出すことができ、Webページや電子フォームの移行性を良くする利点があります。そこで、本節では相対URLの使い方について解説します。

 絶対URLは、URLのすべての要素を作成者が明示的に指定し、相対URLではURLの一定の要素を省略して指定し、残りはブラウザが補う方式です。相対URLを使用する場合、次ぎのようにURLを二つの部分に分けて捉えます。

ベースURL+相対URL

 ベースURLの指定方法にはBASEタグを用いる方法とデフォルトのベースURLを用いる方法の二通りがあります。BASEタグを用いる方法ではベースURLを任意に設定できますが、デフォルトのベースURLを用いる方がより簡単であるため、こちらを用いた相対URLの指定方法について説明します。

 相対URLの解説をはじめる前に、FNSシステムにおけるサーブレットについて復習しておきます。FNSシステムの機能はサーブレットと呼ぶプログラムモジュールで構成されています。サーブレットとしてはMfUsPageMfMyMenu、・・・などがあります。これらのサーブレットを呼出すための絶対URLは、例えば、

   https://www.domain/zone/servlet/MfUsPage

のように指定します。Webページのデザインや電子フォームのデザインの説明ではこのような絶対URLを使用していました。すべてのサーブレットは、

https://www.domain/zone/servlet/

で示されるフォルダーservletに置かれていると解釈されます。従って、サーブレットを呼出すためのURLとしてhttps://www.domain/zone/servlet/<サーブレット名>が使われるのです。

 ところで、デフォルトのベースURLとは何を意味しているのでしょうか。すべてのWebページはhttps://・・・から始まる絶対URLを持っています。例えば、利用者画面のトップWebページindex.htmの絶対URLは、

https://www.domain/zone/servlet/ MfUsPage/index.htm

です。この例のWebページindex.htmの場合、デフォルトのベースURLは、

         https://www.domain/zone/servlet/ MfUsPage/

です。つまり、現在のWebページが属するパスということになります。相対URLはこのデフォルトのベースURLを起点としたアドレスです。

 グループの管理者は利用者画面、運用者画面、あるいは管理者画面を登録できますが、各画面はそれぞれ次ぎのパス:

  https://www.domain/zone/servlet/ MfUsPage/  (利用者画面)

  https://www.domain/zone/servlet/ MfUsPage/  (運用者画面)

  https://www.domain/zone/servlet/ MfKnPage/  (管理者画面)

に置かれます。

 例えば、利用者画面にindex.htmpage1.htmpage2.htmpage3.htmの3つのWebページファイルがあり、page2.htmpage3.htmはフォルダーfolderに収められていると仮定します。

folder/page2.htm

   /page3.htm

index.htm
page1.htm

 各Webページの絶対URLはそれぞれ次ぎの通りです。

index.htm    https://www.domain/zone/servlet/ MfUsPage/index.htm

page1.htm    https://www.domain/zone/servlet/ MfUsPage/page1.htm

page2.htm    https://www.domain/zone/servlet/ MfUsPage/folder/page2.htm

page3.htm    https://www.domain/zone/servlet/ MfUsPage/folder/page3.htm

 Webページindex.htmからWebページpage1.htmへリンクする場合、index.htmのデフォルトのベースURLhttps://www.domain/zone/servlet/ MfUsPage/ですから、

<a href=”page1.htm”>

を指定すれば、デフォルトのベースURLが補われhttps://www.domain/zone/servlet/ MfUsPage/ page1.htmへリンクできます。つまり、

<a href=”https://www.domain/zone/servlet/ MfUsPage/page1.htm”>

と指定した場合と同義になります。page2.htmpage3.htmへリンクする場合、フォルダーfolderがありますから、

<a href=”folder/page2.htm”>

          <a href=”folder/page3.htm”>

のように指定します。

 Webページpage2.htmからWebページpage3.htmへリンクする場合、page2.htmのデフォルトのベースURLhttps://www.domain/zone/servlet/ MfUsPage/folder/ですから、

<a href=”page3.htm”>

を指定すれば、デフォルトのベースURLが補われhttps://www.domain/zone/servlet/ MfUsPage/folder/page3.htmへリンクできます。index.htmpage1.htmにリンクする場合はどうでしょうか。index.htmpage1.htmWebページpage2.htmの一つ上位のパスにありますので、その旨指定する必要があります。それは、

<a href=”../index.htm”>

<a href=”../page1.htm”>

のように「../」で一つ上位のパスを指定します。この例ではfolderをスキップしましたが、更に上位ならば、「../../」のように重ねて指定し更に上位のパスを指定します。

 先に、サーブレットの絶対URLは、

https://www.domain/zone/servlet/<サーブレット名>

であることを述べましたが、管理者が登録した各画面も既に察知の通り、特定のサーブレット内に置かれていますので、相対URLを使用して他のサーブレットを呼出すには上位のservletまでパスを遡る必要があり、必要なだけ「../」を指定します。

 グループの管理者は電子フォームを登録できますが、電子フォームは次ぎのパス:

https://www.domain/zone/servlet/ MfFormPool

に置かれますので、PDFフォームやHTMLフォームのデフォルトのベースURLは、

https://www.domain/zone/servlet/

となります。従って、各PDFフォームやHTMLフォームの送信先で指定するサーブレットはサーブレット名を指定するだけで足ります。

前頁 次頁 目次