У меня большая проблема с классом конвертера. Я использую h: selectOneMenu , чтобы выбрать «категорию» для моего продукта Enetity. Когда я отправляю форму, я получаю следующую ошибку:
• Значение параметра «Ошибка преобразования» для «нулевого преобразователя».
Не могу найти, что не так с моей реализацией.
Также я ищу, как это сделать, работая с Seam-Faces ...
Есть идеи?
Thanx.
Я использую JSF Mojarra 2.1.2 (FCS 20110613), GlassFish v 3.1, PrimeFaces 2.x, PrettyFaces 3.x и JPA 2.0.
Моя страница 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:
@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();
}
}
некоторая часть моего класса ProductController:
@ManagedBean(name = "productController")
@RequestScoped
ProductController class
public ProductController{
private Category category;
//getters :: setters