Javaプログラミング関連情報

更新日:2009年03月21日

主なGUIコンポーネントの利用

編集部 All About 写真

JSFに用意されているGUI作成用の主なコンポーネントについて、その基本的な使い方を説明していきましょう。

複数項目を選択する場合の処理


一覧リストの場合、注意しておく必要があるのは、「複数項目が選択可能な場合」の処理です。<h:selectManyListbox>を使うと、複数の項目が選択できますが、その場合、Bean側でgetValueされる値はどうなるのでしょうか。

実は、valueはString配列として値が設定されるようになっているのです。このため、getValueする際にはString配列にキャストして取り出してやる必要があります。実際に簡単な例を挙げておきましょう。

<h:outputText value="これは、JSFによる表示です。" id="text1"
  binding="#{page1Bean.text1}" escape="false" />
<h:form>
  <h:selectManyListbox id="select1" binding="#{page1Bean.select1}">
    <f:selectItem itemLabel="Windows" itemValue="Windows" />
    <f:selectItem itemLabel="Linux" itemValue="Linux" />
    <f:selectItem itemLabel="Mac OS X" itemValue="Mac OS X" />
  </h:selectManyListbox>
  <h:commandButton value="送信" action="#{page1Bean.button1_action}" />
</h:form>

ざっとこんなコンポーネントを用意しておきましょう。そして送信先のpage1Bean.button1_actionで、選択されている項目を取り出し表示してみます。

private HtmlOutputText text1;
private HtmlSelectManyListbox select1;

public HtmlOutputText getText1() {
  return text1;
}
public void setText1(HtmlOutputText text1) {
  this.text1 = text1;
}

public HtmlSelectManyListbox getSelect1() {
  return select1;
}
public void setSelect1(HtmlSelectManyListbox select1) {
  this.select1 = select1;
}

public String button1_action(){
  String[] arr = (String[])select1.getValue();
  String res = "";
  for(String s : arr){ res += s + ""; }
  text1.setValue(res);
  return null;
}

複数項目を選択して送信すると、選択した項目をすべて表示する。

ここでは、(String[])select1.getValue()というようにしてString配列として値を取り出し、それを繰り返しで順に取り出して変数にまとめています。このように配列を繰り返し処理するのが複数項目を選択するコンポーネントの基本、と考えればよいでしょう。

(執筆者:掌田 津耶乃)

1 2 3 4
  • 印刷する
  • ブックマークする
  • 携帯に送る
  • ブログに書く

あわせて読みたい

この記事の担当ガイド

写真

編集部 All About

住まいには、人の個性がよく現れるもの。同じ空間をどのように使うかで、雰囲気も、快適さも大きく変わってくる。ここでは、「建築家と家を建てる」ガイド の川畑博哉氏が厳選した10軒を紹介し、建築家それぞれのこだわりのポイントを紹介しよう。建築のプロたちが考え出した、マネしたくなるアイデアが満載! さぁ、いますぐチェック!

人気Javaプログラミングランキング

Powered by 価格.com

デジタル関連コミュニティ

北欧好きが、愛用の北欧モノを見せ合うコミュニティ

メルマガ登録

【デジタルメルマガ】オトナのオトコなら知っておきたい、PCやデジモノに関する情報をお届けします。

ショッピングカタログ

All About ウェブマガジン

女性向け

雨が楽しくなる!レイングッズ15

男性向け

マネしたくなるアイデア住宅

All About モバイル

QRコード

All Aboutがケータイで読める!

オススメ記事をメールでチェック

知識・経験を生かして、記事を書いてみませんか?