环境:
Jboss 7.1.1.Final JSF 2.2.6 Seam 2.3.1.Final Richfaces 4.5.10.Final
问题:
在第二次加载弹出窗口时,rich:picklist 会在右侧填充重复项。以下是重现的步骤。
- 通过单击主页中的链接加载带有rich:picklist 的弹出页面
- 弹出页面加载了 rich:picklist 填充了右侧和左侧值
- 这些值从选择列表的左侧添加到右侧,并保存弹出窗口。
- 现在,当我们重新打开弹出窗口时,选择列表右侧有重复值
XHTML 片段:
<rich:pickList id="AssignRole" value="#{staffResourceRolesTargetList}" sourceCaption="Roles" targetCaption="Assigned Roles" listHeight="120"
converter="#{org.jboss.seam.ui.EntityConverter}" orderable="false">
<f:selectItems value="#{staffResourceRolesSourceList}"
var="assignRoles" itemLabel="#{assignRoles.name}" />
<f:selectItems value="#{staffResourceRolesTargetList}"
var="assignedRoles" itemLabel="#{assignedRoles.name}" />
</rich:pickList>
笔记:
- 我已经覆盖了选项列表中使用的实体中的 hashcode 和 equals 方法
- 我必须使用两个 f:selectItems 列表才能使右侧预填充
- 源列表和目标列表属于同一个实体集合
请帮我调试一下。我花了很多时间,希望有人能给我指导。如果您需要更多信息,请告诉我。