0

我的代码中有一个rich:select如下:

<rich:select style="width: 50" enableManualInput=false value="#{MyBean.Obj.id}">
    <f:selectItems value="#{MyBean.objList}"/>
</rich:select>

在我的页面上,如果我打开此下拉列表,它会显示下拉列表中的第一个元素,而不是 value 属性指定的元素。如果我现在选择一个元素然后再次打开它,它仍然会转到第一个元素,而不是选定的元素。

但是,如果我用所有相同的属性替换rich:selecth:selectOneMenu,它就可以正常工作。我不能使用h:selectOneMenu,因为Richfaces样式没有应用于它。

无论如何我可以致富:选择工作或将richfaces样式应用于h:selectOneMenu?

4

3 回答 3

1

h:selectOneMenu生成<select>并且不能很好地设置样式

<rich:select>没有那种功能,但可以用 Javascript 来实现,看看我的解决方案是否有类似的问题。

于 2013-09-12T11:27:44.007 回答
0

我认为您需要使用丰富的转换器属性:选择。有时我有同样的问题,总是因为 rich:select 无法映射到适当的值(在你的情况下是三个)。

于 2014-01-16T10:48:57.973 回答
0

更改<f:selectItems value="#{MyBean.objList}"/><f:selectItems value="#{MyBean.objList}" var="obj" itemValue="obj.id"/>

如果您的 id 不是本机 Java 类,则在其中实现hashCodeequals方法

于 2015-07-04T15:31:14.450 回答