微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“空转换器”的 selectOneMenu 转换错误设置值

如何解决“空转换器”的 selectOneMenu 转换错误设置值

我有两个处于关系中的实体:

// Produkt
@ManyToOne
private Hersteller hersteller;

// Hersteller
@OnetoMany(targetEntity = Produkt.class)
private List<Produkt> produkte;

我有一个 jsf 表单来编辑 Produkt 实体(目前还可以)。 现在我想更改“Produkt”的“Hersteller”。

<h:selectOneMenu styleClass="form-control" id="hersteller" value="#adminProduktMgmtHandler.produkt.hersteller}">
          <f:selectItems value="#{adminProduktMgmtHandler.hersteller}" var="hersteller" itemLabel="#{hersteller.name}" itemValue="#{hersteller}" />
</h:selectOneMenu>

输出是正确的,但是当我提交时出现以下错误

Conversion Error setting value for 'null Converter'

生成的html:

<select id="kunden-form-register:hersteller" name="kunden-form-register:hersteller" class="form-control" size="1">  <option value="de.hsb.app.gws.model.Hersteller@2169a647">Coca Cola</option>
    <option value="de.hsb.app.gws.model.Hersteller@3d9db94c">PepsiCo</option>
</select>

我是 jee/jsf 的新手,但我认为它应该通过正确传递对象来工作,对吗?我不必使用 id 和 itemValue 来设置它?

解决方法

解决办法: 好的,只需将 id 设置为 itemValue...

<h:selectOneMenu styleClass="form-control" id="hersteller" value="#{adminProduktMgmtHandler.produkt.hersteller.id}">
    <f:selectItems value="#{adminProduktMgmtHandler.hersteller}" var="hersteller" itemLabel="#{hersteller.name}" itemValue="#{hersteller.id}" />
</h:selectOneMenu>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。