我有以下代码:
<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>
当我从下拉列表中选择一个项目时,它将呈现所选项目的页面。但是,我想在初始加载期间渲染页面(使用下拉列表的第一项)。我怎样才能做到这一点。任何帮助请!!!!
答案 0 :(得分:1)
这很容易。在你的AssetSummaryPageModel
- Bean中,你将添加一个带有@PostConstruct
注释的新方法,以便在构造bean之后调用它。在此方法中,您会将selectedSensorId
设置为childFacilitySelectionList
的第一项。
当您的页面被渲染时,JSF将看到已经选择了一个值并将其设置为所选的一个。
@PostConstruct
public void init() {
selectedSensorId = childFacilitySelectionList.get(0);
}
答案 1 :(得分:0)
我得到了问题的答案。我在Pagemodel-Bean中的init()方法中声明了以下代码,并在初始加载期间加载它:
selectedSensor = getAsset().getCompanyModuleAssets().get(0);
selectedSensorId = selectedSensor.getCoModAssetId();
谢谢: - )