Web サービスに基づいて jaxws クライアントを生成しています。Jaxb は、プリミティブ型の代わりに java.lang.Boolean を使用してブール値を生成します。これに加えて、Bean の is() 命名規則を生成します。
ただし、ブール値 (isOptional() など) をチェックボックスにリンクしようとすると、次の例外がスローされます。
value="#{property.optional}": Property 'optional' not readable on type java.lang.Boolean
私のグーグルスキルは、jsfが以下でうまく動作することを私に知らせました:
boolean isOptional()
boolean getOptional()
Boolean getOptional()
しかし、一緒ではありません
Boolean isOptional()
ただし、Web サービスのサイズと量が原因で Bean を手動で更新することは現実的ではないため、jsf で java.lang.Boolean isOptional() を適切に使用する方法はありますか? または、生成時に「getOptional()」を魔法のように生成するプロパティをjaxbバインディングファイルに定義することはできますか?
ちなみに、以下は機能します。
<h:selectBooleanCheckbox value="#{property.isOptional()}"/>
ただし、おそらくセッターが見つからないため、実際に値を更新することはできません。
編集:「java -version」の出力である最新のjdk 7を実行しています:
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode, sharing)
「wsimport -version」の出力:
JAX-WS RI 2.2.4-b01
生成されたコード:
public Boolean isOptional() {
return optional;
}