2

私は次のコードを持っています:

<h:selectOneMenu value="#{AssetSummaryPageModel.selectedSensorId}"                                  styleClass="facility_dropDown_list" required="true" >

<f:selectItems value="#{AssetSummaryPageModel.childFacilitySelectionList}" required="true" />
<a4j:ajax event="valueChange" execute="@this" status="nameStatus"
                                    render="assetSummaryMainPanel"/>                                            
</h:selectOneMenu>

ドロップダウンから 1 つのアイテムを選択すると、選択したアイテムのページがレンダリングされます。しかし、初期ロード中にページを (ドロップダウン リストの最初の項目で) レンダリングしたいと考えています。どうやってやるの。助けてください!!!!

4

2 に答える 2

1

簡単だ。-BeanAssetSummaryPageModelでは、アノテーションを使用して新しいメソッドを追加し@PostConstruct、Bean が構築された後に呼び出されるようにします。このメソッドではselectedSensorId、 の最初の項目に設定しますchildFacilitySelectionList

ページがレンダリングされると、JSF は値がすでに選択されていることを認識し、これを選択済みとして設定します。

@PostConstruct
public void init() {
    selectedSensorId = childFacilitySelectionList.get(0);
}
于 2013-08-22T18:36:22.197 に答える
0

質問の答えを頂きました。Pagemodel-Bean の init() メソッドで次のコードを宣言し、初期ロード中にロードされています。

selectedSensor = getAsset().getCompanyModuleAssets().get(0);
                selectedSensorId = selectedSensor.getCoModAssetId();

ありがとう :-)

于 2013-08-23T11:57:57.513 に答える