Possuo uma lista no meu controller que está da seguinte forma.
public class UsuarioController {
private final UsuarioRepositorio userRep;
private final Result result;
private final EmpresaRepositorio empresaRep;
private List<Empresa> empresas = new ArrayList<Empresa>();
public UsuarioController(UsuarioRepositorio rep, Result result, EmpresaRepositorio empresaRep) {
this.userRep = rep;
this.result = result;
this.empresaRep = empresaRep;
}
public void formulario() {
this.result.include("empresaList", this.empresas);
}
//outros metodos...
@Post
@Path("/usuario/addEmpresa/{codigoExterno}")
public void addEmpresa(int codigoExterno) {
if(codigoExterno != 0 ) {
Empresa emp = this.empresaRep.findEmpresaById(codigoExterno);
this.empresas.add(emp);
}
}
e na minha pagina, estou fazendo o seguinte:
//adicionar empresa;
$(document).ready(function(){
$('#addEmpresa').on('click', function(){
oTable = $('#empresaList').dataTable();
var self = $('#codigoDaEmpresa');
var selecionado = self.val(); // pega o codigo digitado no input
$.ajax({
url:'<c:url value="/usuario/addEmpresa/" />'+selecionado,
type: 'POST',
dataType:'json',
success:function(data){
oTable.fnReloadAjax();
},
error:function(){
alert('Erro');
}
});
});
});
eu queria que toda vez que clicasse no botao addEmpresa ele envie o codigo da empresa, e no metodo ele vai recuperar a empresa, adicionar na lista e efetuar o update na tabela, mais só está dando error.