'null Converter' 的 selectOneMenu 转换错误设置值
selectOneMenu Conversion Error setting value for 'null Converter'
我有两个处于关系中的实体:
// 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>
我有两个处于关系中的实体:
// 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>