Galera, preciso de um help. Tenho um projeto que utiliza java e javascript. Ao inserir um funcionário, meu programa insere também um usuário de sistema. Porém faço uma pesquisa no banco para validar a existência ou não do nome de usuário a ser inserido. O que quero é que, após esta verificação, que o meu javascript dê um alert. Porém não consigo fazer com que o javascript leia a variável java. Naverdade ele lê, mas lê com o valor inicial da variável java. Mas ao mudar este valor (exemplo, de 0 para 1) o javascript não percebe esta mudança. Não sei se consegui esclarecer minha dúvida. Aguardo uma ajuda. Valeu
Javascript com java
4 Respostas
Posta seu código para vermos.
Abraços.
javascript é uma coisa, java é outra. Java roda no servidor, javascript no browser. Para fazer os dois conversarem, ainda que “indiretamente”, só com Ajax. (a não ser que você esteja executando javascript direto na JVM com o Rhino, mas pelo que li do seu post acho que não é esse o caso).
Justamente. O Sistema utiliza o Ajax. O meu problema é que este projeto é antigo e tive de aprender a me virar com Javascript e Xwork sem um estudo prévio. Estes são os códigos:
Minha DAOFuncionario com o método de inserção do funcionário e do usuário criados. O método verificaExiste() faz a conexão como banco buscando a existêncio do nome de usuário colocado.
public boolean insertDAO(Funcionario funcionario) throws Exception
{
Connection conn = getConnection();
Usuario usr = new Usuario();
usr.setLogin(funcionario.getLogin());
<a href="//ActionFuncionario.setAux">//ActionFuncionario.setAux</a>(1);
if (getDaoUsuario().verificaExiste(usr, conn) == true) {
<a href="//ActionFuncionario.setAux">//ActionFuncionario.setAux</a>(0);
return false;
//RotaryAction.setMsg("Este usuário já existe.");
}
else {
PreparedStatement ps =conn.prepareStatement(SQL_INSERT_USUARIO);
ps.setString(1, funcionario.getLogin());
ps.setString(2, funcionario.getSenha());
ps.setInt(3, funcionario.getPerfil().getId());
ps.executeUpdate();
ps.close();
Usuario user = getDaoUsuario().selectLogin(funcionario.getLogin(),funcionario.getSenha());
funcionario.setIdusuario(user.getIdusuario());
ps =conn.prepareStatement(SQL_INSERT);
ps.setString(1,funcionario.getNome());
ps.setString(2, funcionario.getEndereco());
ps.setString(3, funcionario.getTelefone());
ps.setInt(4, funcionario.getIdusuario());
ps.executeUpdate();
ps.close();
conn.close();
//ActionFuncionario.setAux(1);
return true;
}
}
O método da minha ActionFuncionario onde tentei, com as variáveis aux e validar, fazer uma forma de o javascript ´fazer a validação utilizando dessas variáveis.
public String insert() throws Exception
{
setValidar(0);
if (getDaoFuncionario().insertDAO(funcionario) == false){
setAux(1);
}
else {
setAux(2);
}
return SUCCESS;
}
E eeste eh o código javascript que valida essa questao:
function validar() {
if($validar == 0){
alert('validar = 0');
if ($aux == 1) {
alert('Este usuário já existe.');
}
if ($aux == 2) {
alert('Usuário cadastrado com sucesso.');
}
}
}
O que tentei é que, através dos valores de aux e de validar, o javascript apresentasse esses alerts.
Tá, mas onde você faz a chamada Ajax no seu javascript? onde pega parâmetros do request e devolve a resposta para o browser?
Da forma que você colocou ai são códigos totalmente independentes…