web-dev-qa-db-fra.com

Sélection par défaut pour <f: selectItem> dans <h: selectOneMenu>

Comment faire la sélection par défaut pour <f:selectItem> dans <h:selectOneMenu>?

Il est nécessaire que cet élément de liste déroulante "20" particulier soit déjà sélectionné lors du chargement de la page.

  <h:selectOneMenu value="#{fileSearchCriteriaOut.recordsPerPage}"  >            
               <f:selectItem itemLabel="5" itemValue="5" />
               <f:selectItem itemLabel="10" itemValue="10" />
               <f:selectItem itemLabel="20" itemValue="20" selected="true"/>
  </h:selectOneMenu>

ces quatre ne fonctionnent pas:

<f:selectItem itemLabel="20" selected="true"/>
<f:selectItem itemLabel="20" selected="selected"/>
<f:selectItem itemLabel="20" checked="checked"/>
<f:selectItem itemLabel="20" checked="true"/>
27
sergionni
<h:selectOneMenu id="items" value="#{bean.selectedItem}">
  <f:selectItem itemLabel="10" itemValue="10"/>
  <f:selectItem itemLabel="20" itemValue="20"/>
  <f:selectItem itemLabel="30" itemValue="30"/>
</h:selectOneMenu>

La sélection par défaut serait celle qui a la même valeur que selectedItem que vous définissez dans le bean.

selectedItem = 20;
43
Jigar Joshi

Initialisez le recordsPerPage dans votre bean de sauvegarde.

A partir de votre code source, je suppose que vous avez un bean FileSearchCriteriaOut et votre recordsPerPage est un String, alors vous pouvez faire ce qui suit dans le constructeur du bean:

public FileSearchCriteriaOut() {
   recordsPerPage = "20";
}

Pour la facette, reportez-vous à la réponse de Jigar Joshi.

5
Matt Handy