0

列挙型クラスのすべての項目をリストするselectOneMenuコンポーネントを含むJSFページを表示しています。このEnumクラスは都市に対応します。

問題は、「すべての都市」という1つのフィールドを表示したいということです。これは*List<City>*、「すべての都市」の値を追加できないため、文字列になるためです。

したがって、 SelectOneMenuに表示される実際のアイテムは次のとおりです。

ニューヨーク、サンフランシスコ、ローマ、パリ

そして、望ましい出力は次のようになります。

すべての都市、ニューヨーク、サンフランシスコ、ローマパリ

コード例:

列挙型:

 public enum City {

    ALL, NYC, SANFRANCISCO,...;

    }

JSFページコードスニペット:

<h:selectOneMenu id="citiesmenu" value="#{enumBeanStatus.selectedCity}">
<f:selectItems value="#{enumBean.cities}"/>
</h:selectOneMenu>
4

1 に答える 1

1

列挙型をどのように設定しているかわかりませんがALL_CITIES、列挙型としてasを追加するだけCityです。0や別のデフォルト値など、他の都市とは異なる値を持つ可能性があります。これは単なるトリックです。さまざまな値を処理する方法は、それが一般的なものか特定のものかを定義するものです。

于 2013-01-22T15:24:22.407 に答える