Converter como um ManagedBean [resolvido]

8 respostas
d34d_d3v1l

Estou criando um ManagedBean para ser meu converter…
Mas mesmo assim o meu @Postconstruct nao é chamado…
vejam só:

@ManagedBean(name="grupoConverter")
@RequestScoped
public class GrupoConverter extends BaseConverter<Grupo,Integer> implements Serializable{
	
	private static final long serialVersionUID = 1L;

	@Autowired
	private GrupoService grupoService;
	
	public GrupoConverter(){
	}

	@PostConstruct
	public void init(){
		super.setEntityClass(Grupo.class);
		super.setBaseService(grupoService);
	}
			
}

Na view

<p:autoComplete value="#{categoriaController.grupoSelecionado}" id="grupo" completeMethod="#{categoriaController.grupoAutoComplete}"  
                      var="p" itemLabel="#{p}" itemValue="#{p.id}" converter="#{grupoConverter}" forceSelection="true" minQueryLength="3"/>

E como ele nao é chamado, da null pointer depois no getasobject :frowning:

8 Respostas

Hebert_Coelho

Se ele não fosse chamado ele nem daria nullpointer no método.

Não será por que você ta tentando fazer esse trem genérico d+ não?

Tente fazer um converter normal funcionar, depois parta para o genérico.

d34d_d3v1l

Cara, eu ja fiz o normal funcionar… Mas não fiz como managedBean.

e… se a estrutura do meu projeto permite que ele seja feito genérico, então porque não fazer? :slight_smile:

sim, ele ta chamando o método, o null ponter é quando tentar chamar o Service…que nao foi injetado …
pois o @PostConstruct não foi chamado.
Aí da null pointer

Hebert_Coelho

d34d_d3v1l:
Cara, eu ja fiz o normal funcionar… Mas não fiz como managedBean.

e… se a estrutura do meu projeto permite que ele seja feito genérico, então porque não fazer? :slight_smile:

sim, ele ta chamando o método, o null ponter é quando tentar chamar o Service…que nao foi injetado …
pois o @PostConstruct não foi chamado.
Aí da null pointer

Beleza. Boa sorte. [=

d34d_d3v1l

vlww…

consegui :slight_smile:
abraços

Hebert_Coelho

d34d_d3v1l:
vlww…

consegui :slight_smile:
abraços

Genérico mesmo?

d34d_d3v1l

Sim, meu código estava certo,
eu apenas esqueci de anotar a classe com @Component do Spring…
ai ele n tava injetando o meu serviço…

@ManagedBean(name="grupoConverter")
@RequestScoped
@Component
public class GrupoConverter extends BaseConverter<Grupo,Integer> implements Serializable{
	
	private static final long serialVersionUID = 1L;

	@Autowired
	private GrupoService grupoService;
	
	public GrupoConverter(){
	}

	@PostConstruct
	public void init(){
		super.setEntityClass(Grupo.class);
		super.setBaseService(grupoService);
	}
			
}
Hebert_Coelho

haha, a gente sempre peca nas coisas mais bobas. -_-’’

Parabéns. [=

d34d_d3v1l

Hebert Coelho:
haha, a gente sempre peca nas coisas mais bobas. -_-’’

Parabéns. [=

hehehe… Na maioria dos casos!

Obrigado, valeu

Criado 16 de novembro de 2012
Ultima resposta 16 de nov. de 2012
Respostas 8
Participantes 2