【问题标题】:h:selectOneListbox -> Conversion Error setting value '' for 'null Converter'h:selectOneListbox -> 'null Converter' 的转换错误设置值''
【发布时间】:2013-09-11 21:25:02
【问题描述】:

SEAM,JSF 2 环境,我有一个字符串列表,我想从查找中添加(然后有一些业务逻辑)。

*我知道您通常需要一个用于具有自定义对象的列表框的转换器,但我的对象是字符串,并且应该已经有一个 compareTo() 方法。是的,我知道我在 h:outputLabel 中缺少“值”,但我不需要所选的 bookName,但 ratehr 整个列表对我来说很重要。

...
function selectBook(bookId, bookName) {
    var idInput = [];
    var idInput = jQuery("#bookForm\\:bookNames");
    idInput.push(bookName);
    }
...

...
<h:panelGroup id="booksField">
     <h:outputLabel for="booksListBox" value="Books:"/>
        <h:selectOneListbox id="booksListBox" >
           <s:selectItems var="_var" value="#{bean.searchCriteria.bookNames}" noSelectionLabel=""/>
        </h:selectOneListbox>
        <h:inputHidden id="bookNames" value="#{bean.searchCriteria.bookNames}" converter="StringListConverter"/>
    </h:panelGroup>
...

还有我的 Java 代码...

...
private List<String> bookNames;

public List<String> getBookNames() {
    return bookNames;
}

public void setBookNames(List<String> bookNames) {
    this.bookNames = bookNames;
}
...

【问题讨论】:

    标签: jsf seam


    【解决方案1】:

    您的 inputHidden 具有 List&lt;String&gt; 作为值,而不是字符串。你需要一个转换器来做到这一点。

    【讨论】:

    • 我添加了一个转换器,例如 link 。并确保错误消失了,但 bookName 永远不会被扔到列表中。
    • 回想起来,我认为现在的问题是 JavaScript 问题。感谢您的帮助!
    猜你喜欢
    • 2013-03-17
    • 2012-10-31
    • 2012-10-22
    • 2021-05-12
    • 1970-01-01
    • 2011-09-23
    • 2012-06-06
    • 2011-10-31
    • 2017-09-01
    相关资源
    最近更新 更多