Jsf 如何在<;中选择列表的第一项;h:选择一个功能表>;并在第一个选定项的初始加载期间呈现页面

Jsf 如何在<;中选择列表的第一项;h:选择一个功能表>;并在第一个选定项的初始加载期间呈现页面,jsf,render,selectonemenu,Jsf,Render,Selectonemenu,我有以下代码: <h:selectOneMenu value="#{AssetSummaryPageModel.selectedSensorId}" styleClass="facility_dropDown_list" required="true" > <f:selectItems value="#{AssetSummaryPageModel.childFacilitySelectionList}" req

我有以下代码:

<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>


当我从下拉列表中选择一个项目时,它将呈现所选项目的页面。但是,我想在初始加载期间呈现页面(带有下拉列表的第一项)。我该怎么做呢。有什么需要帮忙的吗

那很容易。在
AssetSummaryPageModel
-Bean中,您将添加一个带有
@PostConstruct
注释的新方法,以便在构建Bean后调用它。在此方法中,您将
selectedSensorId
设置为
childFacilitySelectionList
的第一项

当呈现页面时,JSF将看到已经选择了一个值,并将该值设置为所选值

@PostConstruct
public void init() {
    selectedSensorId = childFacilitySelectionList.get(0);
}

我得到了问题的答案。我在Pagemodel Bean的init()方法中声明了以下代码,并在初始加载期间加载:

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

谢谢:-)

我试过这个。但在初始页面加载期间,它不会呈现页面。但当我选择一个项目,然后它是渲染。没有得到确切的问题。@是否没有呈现页面?在初始加载期间,它如何不能呈现页面?你是什么意思?我的意思是当我从另一个页面来到这个页面时,我需要显示列表第一项的相应信息。但当我从其他页面转到此页面时,它不会显示任何内容。当我来到这个页面并从下拉列表中选择一个项目时,就会显示该项目的相应信息。清楚的