Labelを使った動的な文字列の表示

Wicketが持つコンポーネントの中で,最もシンプルなのはLabelコンポーネントだろう。Labelコンポーネントは,HTMLにシンプルな文字列を動的に埋め込みたい時に使用する。

Labelコンポーネントは,実は既に「 超基本構成」のエントリで使用している。ここでは,Labelコンポーネントに関するコードのみを取り上げてみよう。

まず,Labelコンポーネントに対応するPOHPの部分は,以下のような感じだ。

ここに名前が入る

spanタグを使って,「ここに名前が入る」という文字列をタグ付けしている。その「wicket:id」属性の値として,このタグを特定するためのIDを指定している。

次に,LabelコンポーネントをWebPageクラス内でどのように使用したかを見てみる。

add(new Label(“name”, “よういちろう”));

Labelクラスのコンストラクタの第一引数として,wicket:id属性で指定した値を記述している。さらに第2引数には,動的に表示させたい文字列を指定している。このコードを実行すると,「ここに名前が入る」という文字列が「よういちろう」に動的に置換されてWebブラウザに表示されるのは,「 超基本構成」のエントリで紹介した通りだ。結果のHTMLは,以下のようになる。

よういちろう

上記の例では,spanタグを使用したが,実はLabelコンポーネントはタグの種類を問わない。Labelコンポーネントは,wicket:id属性で指定されたタグのBODY部分の文字列を置き換える,という動きをする。なので,例えば「

」というようにBODY部分を持たないタグに対してLabelコンポーネントを適用しても,結果のHTMLには何も変更がされない。

また,BODY部がごっそりと入れ替わるので,例えば「 ここに名前が入る」として太字指定をしていたとしても,Labelコンポーネントの動作によって タグも合わせて置換されてしまう。この点は注意が必要だ。

Labelコンポーネントの動きは,POHPを語る上で最も基本的な動作なので,しっかり押さえておこう。

このエントリーをはてなブックマークに追加

関連記事

2023年のRemap

Remapにファームウェアビルド機能を追加しました

Google I/O 2023でのウェブ関連のトピック

2022年を振り返って

現在のRemapと今後のRemapについて