All the questions asking: how can I bind POJOs to h:selectXX with f:selectItems end up with answer "use a converter". However, it seems it is possible to go without the converter - see:
Facelet:
<h:selectManyListbox value="#{pojoBean.selected}">
<f:selectItems value="#{pojoBean.allItems}" var="i" itemValue="#{i}" itemLabel="#{i.txt}" />
</h:selectManyListbox>
Bean:
public class PojoBean {
List<MyItem> selected;
List<MyItem> allItems;
POJO:
public class MyItem {
private String txt;
...}
Note that this seems to work only with h:selectManyListbox, when the value/s being selected end up in a list, not in a single property.
Question - why doesn't it work with h:selectOneMenu and etc?