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