About

General

Teeda Core

Teeda Extension

Teeda Ajax

プロジェクト文書

モジュール

Built by Maven

リンク

次のような場合はリンクを動的に作成する必要があります.

  • クッキーを無効にしているブラウザでもセッションを有効にするためリンクにセッションIDを埋め込む場合.
  • リクエストパラメータを動的に変更する場合.

上記に該当しない場合 (外部サイトへの静的なリンク) は, テンプレートHTMLに通常の (静的な) リンクを記述するだけで十分です.

静的なリンクは, <a> 要素に id 属性を付けないか, go で始まらない値を指定します.

動的なリンクを使うには

<a> 要素に id 属性を付けて go で始まる値を指定し, href 属性で遷移先のURLを指定します.

実行時, クッキーが無効のブラウザに対しては href 属性にURLリライティングでセッションIDが埋め込まれます.

例:テンプレートHTML (foo.html)
<a id="goNext" href="next.html">次ページへ</a>
例:レンダリング結果

クッキーが有効なブラウザからアクセスされた場合, レンダリング結果は次のようになります.

<a id="goNext" href="next.html>次ページへ</a>
例:レンダリング結果

クッキーが無効なブラウザからアクセスされた場合, レンダリング結果は次のようになります.

<a id="goNext" href="next.html;jsessionid=DCFD14BF14B9F71050A3FC36E8D465EF">次ページへ</a>

リンクのパラメータを動的に変えるには

href 属性にパラメータを含むURLを指定し, 動的に値を変えたいパラメータ名と同じ名前のプロパティをページクラスに用意します. レンダリング時, href 属性のパラメータ値は, 同じ名前のプロパティ値に置き換えられます.

パラメータと同じ名前のプロパティがページクラスにない場合は, href 属性の値がそのままレンダリングされます.

パラメータと同じ名前のプロパティがある場合でも, パラメータ値をプロパティ値に置き換えたくない場合は, パラメータ名に接頭辞 fixed_ を付加します. レンダリング時, fixed_ は取り除かれ, パラメータ値はテンプレートHTMLの href 属性の値がそのままレンダリングされます.

例:テンプレートHTML (foo.html)
<a id="goNext" href="next.html?foo=xxx&amp;bar=yyy&amp;fixed_baz=zzz">次ページへ</a>
例:ページクラスのプロパティ (FooPage.java)
public String foo = "aaa";
public String baz = "ccc";
例:レンダリング結果

レンダリング結果は次のようになります.

<a id="goNext" href="next.html?foo=aaa&amp;bar=yyy&amp;baz=zzz">次ページへ</a>

パラメータ foo の値は対応するプロパティの値に置き換えられます. パラメータ bar には対応するプロパティがないため, テンプレートの値がそのままレンダリングされます. パラメータ fixed_baz は接頭辞 fixed_ が取り除かれ, テンプレートの値がそのままレンダリングされます.

プロパティファイルの内容をリンクの文字列にするには

<a> 要素の内容に <span> 要素を記述して, id 属性の値を key + Label とします. ラベルリソース ファイルに pagename.key または key という名前のプロパティを定義します.

レンダリング時, <span> 要素の内容は ラベルリソース ファイルの値に置き換えられます.

例:テンプレートHTML (foo.html)
<a id="goNext" href="next.html"><span id="linkLabel">dummy</a></span>
例:ラベルリソースファイル (label_ja.properties)
foo.link=次ページへ
例:レンダリング結果

レンダリング結果は次のようになります.

<a id="goNext" href="next.html"><span id="linkLabel">次ページへ</span></a>

関連項目

新しいウィンドウを開くには

<a> 要素の href 属性で指定するURLに newwindow=true というパラメータを含めます.

このパラメータを指定することにより, 新しいウィンドウ用の スコープ が作成され, 元のウィンドウと状態が混在することを回避することができます.

例:テンプレートHTML (foo.html)
<a target="_blank" href="next.html?newwindow=true">新しいウィンドウで次ページへ</a>