Converterクラスに大きな問題があります。 h:selectOneMenuを使用して、私のEnetity "Product"の "カテゴリ"を選択しています。私がフォームを提出すると、エラーが発生します。Converterは実装されていますが、まだ「nullコンバータ」の「Conversion Error setting value」のエラーがあります
•変換エラーの設定値は 'NULL変換'です。
私の実装に間違いがありません。 また、Seam-Facesで作業する方法を検索しています... アイデアはありますか? Thanx。
私は、JSF Mojarra 2.1.2(FCS 20110613)、GlassFish v 3.1、PrimeFaces 2.x、PrettyFaces 3.xおよびJPA 2.0を使用しています。
MY JSFページ:
<h:selectOneMenu id="selectCategory"
value="#{productController.category}">
<f:selectItems value="#{categoryController.listCategory()}" var="category" itemLabel="#{category.name}" itemValue="#{category}"/>
<f:converter converterId="categoryConverter" />
</h:selectOneMenu>
MY Converterクラス:私のProductControllerクラスの
@FacesConverter(forClass=Category.class, value="categoryConverter")
public class CategoryConverter implements Converter {
private CategoryController ctrl;
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
ctrl = (CategoryController) context.getApplication().getELResolver().getValue(
context.getELContext(), null, "categoryController");
Category category = ctrl.findById(Integer.valueOf(value));
return category;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
return "" + ((Category) value).getCategoryid();
}
}
一部:
@ManagedBean(name = "productController")
@RequestScoped
ProductController class
public ProductController{
private Category category;
//getters :: setters