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>

当我从下拉列表中选择一项时,它正在呈现所选项目的页面。但是,我想在初始加载期间呈现页面(使用下拉列表的第一项)。我怎样才能做到这一点。请任何帮助!!!!

4

2 回答 2

1

这很容易。在您的AssetSummaryPageModel-Bean 中,您将添加一个带有@PostConstruct注释的新方法,以便在构建 bean 后调用它。在此方法中,您将设置selectedSensorIdchildFacilitySelectionList.

当您的页面正在呈现时,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 回答