Vraag ManagedProperty niet ingespoten in @ FacesConverter


Ik probeer een ManagedBean in mijn FacesConverted op de volgende manier te injecteren:

@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;
}

}

Het probleem is dat groupService niet wordt geïnjecteerd en ik krijg een NullPointerEx. Zou het niet automatisch moeten worden geautowired omdat het ook een ManagedBean is? Het werkt allemaal als ik "getAsObject" verander in "return new Group ();" duidelijk.

Om het even welke ideeën?


10
2018-05-26 08:52


oorsprong


antwoorden:


Waarschijnlijk lost u het probleem niet op beheerde boonnaam.

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

Overweeg deze twee componenten bijvoorbeeld:

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

Wanneer de omzetter op het eerste onderdeel is ingesteld, wordt deze gemaakt door Application.createConverter. Een converter is geen beheerde boon. Dezelfde regels zijn van toepassing match een converter op type.

4040 hand 3 details details details details details details details details details details details details details details details details details hand hand4040 3 3 3 3 hand40 3 340 details 3 3 details details details details details details details details hand 3 details40 3 details details details 3 3 hand 3 hand hand 3 3 340 3 340 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 hand 3 3 3 3 3 3 3 3 details hand 3 34040 3 340 hand 3 hand 3 3 3 hand 3 3 3 hand 340 3 3 hand 3 340 3 3 omvormer. Dit gebruikt de gebruikelijke beheerde bonenmechanismen. In dit geval, de @FacesConverter annotatie is niet relevant.


26
2018-05-26 10:20