我正在使用带有f:转换器的h:selectOneMenu但是我遇到问题需要设置并获取bean上的值并列出默认值。
这是h:selectOneMenu:
<h:selectOneMenu align="left" styleClass="fill" value="#{serviceController.searchAlias}"> <f:converter converterId="aliasConverter" /> <f:selectItems value="#{serviceController.aliasTypesList}" var="aliasItem" itemLabel="#{aliasItem.typeName}"/> <f:ajax /> </h:selectOneMenu>
在我的Session bean上我有:
...
On constructor...
private Alias searchAlias = null;
this.searchAlias = new Alias();
this.searchAlias.setTypeCode("4");
this.searchAlias.setTypeName("Test");
...
Setters and getters...
/**
* Gets the searchAlias.
*
* @return the searchAlias
*/
public Alias getSearchAlias() {
LOGGER.debug("GET SEARCH"+ this.searchAlias);
return this.searchAlias;
}
/**
* Sets the searchAlias.
*
* @param searchAlias the searchAlias to set
*/
public void setSearchAlias(Alias searchAlias) {
LOGGER.debug("---------------setting ALIAS" + this.searchAlias.getTypeCode() + " " + this.searchAlias.getTypeName());
this.searchAlias = searchAlias;
}
列表项很好地显示,这是Alias对象的列表,所以我认为问题与转换器无关。 问题是组合框上的默认值应为“Test”。 如果我打印searchAlias对象,它很好地填充了我给出的值,所以我不明白为什么这个 value =“#{serviceController.searchAlias}”不起作用。 你能帮帮我吗?