2012-05-19 5 views
0

Я уверен, что у меня это работает в прошлом, но сегодня он не хочет работать.JSF - Невозможно ввести Spring Data JPA-хранилище в конвертер

Пример:

@FacesConverter(value = "inputConverter") 
public class InputConverter implements Converter { 


    private InputRepository inputRepository; 

    @Override 
    public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) { 

     List<Input> allInputs = inputRepository.findAll(); 

     for(Input input : allInputs) { 
      if(input.getInputName().equals(arg2)) { 
       return input; 
      } 
     } 
     return null; 
    } 

    @Override 
    public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) { 
     Input input = (Input) arg2; 
     return input.getInputName(); 
    } 


    public InputRepository getInputRepository() { 
     return inputRepository; 
    } 

    @Inject 
    public void setInputRepository(InputRepository inputRepository) { 
     this.inputRepository = inputRepository; 
    } 

} 

Результат:

Исключение нулевого указателя при вызове itemRepository.findAll() - @Inject не ставил его.

ответ

1

Ответ найден на другой пост: ManagedProperty not injected in @FacesConverter

Как я использую @Inject и впрыскивается JPA Repository управляется весной, это было использовать необходимому @Component("itemConverter"), @Scope("session") вместо @ManagedBean.

Смежные вопросы