问题描述
我有两个处于关系中的实体:
// 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>