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

标签 jsf richfaces

我有 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/

相关文章:

java - 在将页面提交到服务器之前检查字段值的验证

JSF - 获取 SessionScoped Bean 实例

JSF 2 : Ajax errors not displayed

html - 用于在页面上汇总 CSS 选择器的 Firefox 扩展

java - 编写 Web 应用程序图形用户界面。我应该使用哪种技术?

java - 将 Rich Calendar 与 Joda Time 集成

jsf - 如何从 JSF 数据表中的 selectOneMenu 中获取值?

javascript - JSF - 通过 jquery 更新的表未反射(reflect)在服务器端的页面提交上

java - MyFaces 吃掉我的异常(exception)

jsf - JSF 和 Richfaces 中的错误消息