EGL で Web ページを処理する際、サーバー上でページを実行して、デプロイ時にページがどのように見えるか確認することができます。
このタスクには、次のような前提条件があります。
- Web ページを少なくとも 1 つ持つ、EGL Web プロジェクト。
- ワークベンチで定義されたサーバー。
サーバー上の Web ページをワークベンチで実行するには、以下のステップを実行します。
- 未保存ファイルを保存して、プロジェクトを生成します。
以前のバージョンの EGL では、ファイルの保存時に JSF ハンドラーが自動的に生成されましたが、
現行バージョンでは、ハンドラーを自動的に生成するか生成しないかを、ユーザーが選択できるようになりました。
生成設定の変更を参照してください。
- サーバーが既に稼働中の場合は、「サーバー」ビューでそのサーバーを右クリックし、次に「公開」をクリックして、ファイルの新規バージョンをサーバーに公開します。
サーバーが稼働していない場合は、ページの実行時に、公開が自動的に行われます。サーバーとその設定によっては、Web プロジェクトへの変更を保存したときに、自動的に公開が行われることがあります。その場合は、サーバーの状況が「同期済み」としてリストされるまで待機してください。
- 「プロジェクト・エクスプローラー」ビューで、(JSF ハンドラーがある EGL ソース・ファイルではなく) JSP ファイルを右クリックし、次にとクリックします。プロジェクトのデフォルト・サーバーをまだ定義していない場合は、
「サーバーで実行」ウィンドウが開きます。
- 「サーバーで実行」ウィンドウで、使用するサーバーを選択します。サーバーとして WebSphere Application Server Liberty を選択した場合、次のガイドの説明に従うことで、jndi 機能を構成します。http://www.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.core.doc/ae/cwlp_feat_mgmt.html。
- ページの実行時に、このサーバーを毎回使用したい場合は、「サーバーをプロジェクトのデフォルトに設定」チェック・ボックスを選択します。
- 「終了」をクリックします。サーバーが始動し (まだ始動していなかった場合)、ワークベンチの内部 Web ブラウザーでページが開きます。サーバーが稼働中であれば、内部 Web ブラウザーから URL をコピーして、ご使用のシステムの外部 Web ブラウザーのアドレス・フィールドに、その URL を貼り付けることで、異なるブラウザーでページを表示させることができます。
Web ページの URL は、JSP ファイルの実行時の表示を制御する JavaServer Faces によって設定します。例えば、
myProject という名前のプロジェクトで、
myPage.jsp という名前の Web ページを実行すると、
次の URL が内部 Web ブラウザーで開きます。
http://hostname:portnumber/myProject/faces/myPage.jsp
また、次の URL も表示されます。
http://hostname:portnumber/myProject/myPage.faces
いずれの場合も、
hostname は、
localhost などのローカル・サーバーの名前を指し、
portnumber
は、そのサーバーのポートを指します。
最初のケースでは、JSF によって、接頭部
/faces が URL に追加されていることに注意してください。
もう一方のケースでは、ファイル名に拡張子
.faces が追加されて、実際の
.jsp 拡張子が置き換えられています。
これらの URL は同じ意味を持ち、同じ JSP ファイルと JSF ハンドラーを参照しています。
ただし、これら 2 つの異なる URL 間で競合が発生した場合、ワークベンチで Web ページをテストした際にリンクが切断されることがあります。myProject/myPage.faces としてページが開いた場合、myProject/myOtherPage.jsp という名前のページへの相対リンクが機能しなくなります。なぜならば、ターゲット・ページのロケーションが、JSF によって myProject/myOtherPage.faces および myProject/faces/myOtherPage.jsp として設定されるからです。このケースでは、myProject/faces/myOtherPage.jsp または myProject/myOtherPage.faces にリンクを変更するか、あるいは元のページを myProject/faces/myPage.jsp として開く必要があります。