VRaptor Acessando Metodo de Outro Controller

4 respostas
J

Bom Dia, estou com a seguinte duvida como faco para acessar uma metodo de outro controller sem que seja redirecionado a view.

Exemplo

@Resource
public class ClienteController {
	public String status() {
		// TODO Auto-generated method stub
		return "cliente ok";
	}
}

@Resource
public class VendaController {
	private final Result result;
	
	public VendaController(Result result) {
		// TODO Auto-generated constructor stub
		this.result = result;
	}
	
	public void formulario() {
		// TODO Auto-generated method stub
		String status = this.result.of(ClienteController.class).status();
	}
}

Obrigado !!!

4 Respostas

Lucas_Cavalcanti

receba o outro controller no construtor e chame o método.

só que se vc precisou fazer isso, mto provavelmente essa lógica de negócio não deveria estar no seu controller.

J

Lucas Cavalcanti:
receba o outro controller no construtor e chame o método.

só que se vc precisou fazer isso, mto provavelmente essa lógica de negócio não deveria estar no seu controller.

Ok vou testar

Obrigado

J

Lucas Cavalcanti:
receba o outro controller no construtor e chame o método.

só que se vc precisou fazer isso, mto provavelmente essa lógica de negócio não deveria estar no seu controller.

Ok lucas funcionou legal

Codigo Alterado

@Resource
public class VendaController {
	private final Result result;
	private final ClienteController clienteController;

	
	public VendaController(Result result,ClienteController clienteController) {
		// TODO Auto-generated constructor stub
		this.result = result;
		this.clienteController = clienteController;
	}
	
	public void formulario() {
		// TODO Auto-generated method stub
		String status = this.clienteController.status();  //ALTERADO
	}
}

Lucas sera que seria interessante de criar mais um results para isso em vez de receber no construtor do controller so uma opinião para as versões futuras do VRaptor tipo Results.method.

Obrigado !!!

Lucas_Cavalcanti

acho que o jeito natural seria com injeção de dependências mesmo. No result tem os métodos de chamar o outro controller redirecionando.

Criado 23 de setembro de 2011
Ultima resposta 28 de set. de 2011
Respostas 4
Participantes 2