我有 rich:select 组件,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(richfaces 组件存储库)中的 __save 方法。特别是在 __getClientItemFromCache 调用中。要修复它,我们需要清除缓存或使用 __getClientItem 方法而不是 __getClientItemFromCache。
UPD2:在错误跟踪器中完全发现了这个问题: https://issues.jboss.org/browse/RF-12613
最佳答案
JIRA issue you linked指出该问题已在另一个 JIRA issue 的上下文中得到解决。 ,已在 RichFaces 4.5.0.CR1 中标记为已修复。因此,解决您的问题的方法是使用 RichFaces 4.5.0.CR1 或更高版本。
关于jsf - 如果值是另一个值的子字符串,则无法使用enableManualInput从丰富的选择中选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21162629/