Set default value for selectonemenu

I have a selection menu, for example:

<h:selectOneMenu value="#{serverMB.selectedServerType}" > <f:converter binding="#{serverTypeConverter}"/> <f:selectItems value="#{serverMB.serverTypesList}" var="servertypes" itemLabel="#{servertypes.server_type_name}" /> <f:ajax listener="#{serverMB.changeSelectedOneMenuServerType}" render="selectservertype"/> </h:selectOneMenu> 

I want the default value for the selection menu to be the value of one object that was filled before, something like this:

 <h:selectOneMenu value="#{serverMB.selectedServerType}" default="serverMB.server.servertype"> // <- default 

or like this:

 <h:selectOneMenu value="#{serverMB.selectedServerType}"> <f:converter binding="#{serverTypeConverter}"/> <f:selectItem value"serverMB.server.servertype"/> <- but this item was the first one and has been selected <f:selectItems value="#{serverMB.serverTypesList}" var="servertypes" itemLabel="#{servertypes.server_type_name}" /> </h:selectOneMenu> 
+6
source share
2 answers

You can do something like this if your object is already full, when you call the page, if it is not, it will display the message <f:selectItem/> :

 <h:selectOneMenu value="#{serverMB.server.servertype}"> <f:converter binding="#{serverTypeConverter}"/> <f:selectItem itemLabel="Select a Server..." /> <f:selectItems value="#{serverMB.serverTypesList}" var="servertypes" itemLabel="#{servertypes.server_type_name}"/> <f:ajax listener="#{serverMB.changeSelectedOneMenuServerType}" render="selectservertype"/> </h:selectOneMenu> 
+12
source

You can also use OmniFaces converter .

Here is my example. It works great for me. (Note: Year is an object. Make sure you have equal values. Year name and id .)

 <h:selectOneMenu value="#{bean.user.year}" converter="omnifaces.SelectItemsConverter"> <f:selectItem itemLabel="Please select a year." itemValue="#{null}" noSelectionOption="true" /> <f:selectItems value="#{bean.allyears}" var="year" itemValue="#{year}" itemLabel="#{year.name}" /> </h:selectOneMenu> 
+2
source

Source: https://habr.com/ru/post/958308/


All Articles