CRUD - NetBeans

Olá,

Tenho um controlador(ManagedBean) que implementa CRUD.

Em uma página tenho um botão ou link para alterar um registro por exemplo.

Pergunto.
É correto colocar no “onclick” do botão ou do link um código para chamar o meu controlador, algo do tipo

  public String button1_action() throws SQLException {
        int codigo = Integer.parseInt(getParam2().getValue().toString());
        return getmbcidade().lAltera2(codigo);
  }

OU
o controlador deveria “pegar” o parâmetro?
se esta for a opção mais correta, como faço isso?

uso: JSF.

Valeu
Abraço
Marcio