如果value是另一个值的子字符串,则无法使用enableManualInput从富选中选择值

时间:2014-01-16 13:04:47

标签: jsf richfaces

我有富:选择组件,enableManualInput设置为“true”。

<rich:select value="#{productBean.item.cargoType}"
             enableManualInput="true"
             converter="#{cargoTypeSelectConverter}">
    <f:selectItems value="#{productBean.cargoTypes}"
                   var="cargo"
                   itemLabel="#{cargo.name}"/>
</rich:select>

cargoTypes列表包含下一个值:“gazoline”,“gazoline class A”,“gazoline class B”。如果我尝试选择行“gazoline”将选择行“gazoline类A”。选择的任何其他行没有问题。因此,只有当我尝试选择另一个子串的行时才会出现。如果我们将“gazoline”改为“gazoline C级”,一切都会好的。 有什么建议我可以解决它吗? 我使用:richfaces 4.2.3.Final

UPD:这里是richfaces论坛的主题,我也问这个问题: https://community.jboss.org/thread/236266

简而言之:我认为问题出现是因为select.js中的__save方法(richfaces组件repos)。特别是在__getClientItemFromCache中调用。要修复它,我们需要清除缓存或使用__getClientItem方法而不是__getClientItemFromCache。

UPD2:在错误跟踪器中完全发现此问题: https://issues.jboss.org/browse/RF-12613

1 个答案:

答案 0 :(得分:0)

JIRA issue you linked表示问题已在另一个JIRA issue的上下文中修复,该问题已针对RichFaces 4.5.0.CR1标记为已修复。因此,您的问题的解决方案是使用RichFaces 4.5.0.CR1或更新