轉換器類有一個大問題。我正在使用h:selectOneMenu爲我的Enetity「產品」選擇一個「類別」。當我提交表單時,出現以下錯誤:轉換器已實施,但仍存在錯誤「轉換錯誤設置值」'null轉換器'「
•'null Converter'的轉換錯誤設置值''。
我找不到我的實現出了什麼問題。 另外我正在尋找如何使用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類:
@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