zoukankan      html  css  js  c++  java
  • ManagedProperty not injected in @FacesConverter

    I'm trying to inject a ManagedBean in my FacesConverted the following way:

    @ManagedBean
    @RequestScoped
    @FacesConverter(forClass = Group.class)
    public class GroupConverter implements Converter {
    
    @ManagedProperty("#{groupService}")
    private GroupService groupService;
    
    @Override
    public Group getAsObject(FacesContext context, UIComponent arg1,
            String groupName) {
        return groupService.findGroupByName(groupName);
    }
    
    @Override
    public String getAsString(FacesContext arg0, UIComponent arg1, Object group) {
        return ((Group) group).getName();
    }
    
    public GroupService getGroupService() {
        return groupService;
    }
    
    public void setGroupService(GroupService groupService) {
        this.groupService = groupService;
    }
    
    }

    The problem is that groupService isn't being injected and I get a NullPointerEx. Shouldn't it be autowired automatically since it's also a ManagedBean? It all works when I change "getAsObject" to "return new Group();" obviously.

    Any ideas?

    The solution:

    It is likely that you are not resolving the managed bean name.

    @ManagedBean(name = "myConverter")
    @RequestScoped
    @FacesConverter(value = "myConverter")
    public class MyConverter implements Converter {

    For example, consider these two components:

    <h:inputText converter="myConverter" value="#{foo.prop}" />
    <h:inputText converter="#{myConverter}" value="#{bar.prop}" />

    When the converter is set on the first component, it will be created by Application.createConverter. A converter is not a managed bean. The same rules apply if you match a converter by type.

    In the second component, a value expression is used to return a class that implements Converter. This uses the usual managed bean mechanisms. In this case, the @FacesConverter annotation is irrelevant.

  • 相关阅读:
    MSSQL复制表
    分享职场心得《7》
    分享职场心得《2》
    分享职场心得《3》
    免费收录网站搜索引擎登录入口最新版
    读写分离,读写分离死锁解决方案
    分享职场心得《5》
    分享职场心得《6》
    分享职场心得《1》
    分享职场心得《4》
  • 原文地址:https://www.cnblogs.com/sos-blue/p/3478845.html
Copyright © 2011-2022 走看看