【问题标题】:Converter implemented but still having error "Conversion Error setting value '' for 'null Converter' "转换器已实现,但仍有错误“'null Converter' 的转换错误设置值''”
【发布时间】:2011-09-23 03:41:57
【问题描述】:

我对 Converter 类有一个大问题。我正在使用 h:selectOneMenu 为我的 Enetity“产品”选择一个“类别”。当我提交表单时,我收到以下错误:

•“空转换器”的转换错误设置值“”。

我找不到我的实现有什么问题。 我也在寻找如何使用Seam-Faces来做到这一点...... 有任何想法吗? 谢谢。

我正在使用 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>

我的转换器类:

 @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

【问题讨论】:

    标签: jsf converter


    【解决方案1】:

    谢谢,但我已经用 system.outs 试过了。值通过提交正确发送并返回给定值 (#ID) 的正确类别对象。但仍然有同样的错误。

    无论如何....我找到了问题所在。转换器按预期工作正常。

    导致错误的唯一原因是字段 product."image" 。我没有图像字段的转换器。当我从 JSF 表单中删除这一行时,它被提交而没有错误。

    图像属性的类型是字节,所以它也需要在JSF中转换,例如其他不是字符串的字段。

    我知道的只是一个初学者错误:)

    StringToByte 转换器: here is an example

    【讨论】:

      猜你喜欢
      • 2013-03-17
      • 2012-10-31
      • 1970-01-01
      • 2011-10-31
      • 2012-10-22
      • 2021-05-12
      • 1970-01-01
      • 2017-09-01
      相关资源
      最近更新 更多