java - 子 selectOneMenu JSF 1.2 的错误填充值

标签 java jsf richfaces

我在填充子 SelectOneMenu 的值时遇到问题。当我更改父 selectOneNode 中的值时,子 selectOneNode 中的值将被删除,而不是插入新值。

我的 xhtml 文件的一部分:

<a4j:region>
<h:selectOneMenu id="dict_trg" value="#{backingBean.trgDictId}" disabled="false" rendered="#{backingBean.itemEdited}">
    <c:forEach var="dict" items="#{backingBean.dictionaries}">
        <f:selectItem itemLabel="#{dict.name}" itemValue="#{dict.dicId}" />
    </c:forEach>
    <a4j:support ajaxSingle="true" event="onchange" reRender="entry_trg" /> 
</h:selectOneMenu>

<br />
<br />


<h:selectOneMenu id="entry_trg" value="#{backingBean.trgEntryId}" disabled="false" rendered="#{backingBean.itemEdited}">
    <c:forEach var="entry" items="#{backingBean.trgDictionaryEntries}">
        <f:selectItem itemLabel="#{entry.localizedName}" itemValue="#{entry.dntId}" />
    </c:forEach>
</h:selectOneMenu>
</a4j:region>

还有一个方法负责获取 selectOneMenu 的列表条目

public List<Dictionary> getDictionaries(){
    return getDictionaryDataManager().getDictionaries();    
}

public List<DictionaryEntry> getTrgDictionaryEntries(){
      getDictionaryDataManager().getDictionary(12); 
}

我检查了这些方法,它们总是返回包含很少项目的列表。知道我做错了什么吗?

最佳答案

使用<f:selectItems>如果您有一个项目集合,请使用 <c:forEach>因为这就是破坏它的原因(你不能部分地重新渲染使用 <c:xyz> 构建的东西)。

<h:selectOneMenu id="dict_trg" value="#{backingBean.trgDictId}" disabled="false" rendered="#{backingBean.itemEdited}">
    <f:selectItems var="dict" value="#{backingBean.dictionaries}" itemLabel="#{dict.name}" itemValue="#{dict.dicId}" />
    <a4j:support ajaxSingle="true" event="onchange" reRender="entry_trg" /> 
</h:selectOneMenu>

关于java - 子 selectOneMenu JSF 1.2 的错误填充值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24151598/

相关文章:

css - 为什么在使用 h :dataTable in JSF? 显示动态数据时特定于边框的属性似乎对行不起作用

java - Richfaces poupPanel 在操作执行之前显示

ajax - 如何在 JSF 2.0 中使用表单重新呈现页面的一部分?

java - JSF 中的用户表单例份验证

java - 将数据保存到Session时Spring Async函数异常

java - Java中树形结构中的HashMap

java - 调用 JasperFillManager.fillReport 方法时出现 "error generating report. Unknown print order 0"错误

ajax - 自动将焦点设置在 p :editor on page load

jquery - 如何使用最新版本的 jQuery 并在 RichFaces 中取回 jQuery 的 '$'?

java - 文件未找到。为什么不?