Executar scriptlets em código JS

7 respostas
M

Tem como eu executar um bloco de scriptlets dentro de um código javascript? Tipo, eu quero executar esse bloco dentro de um IF feito em JS.

7 Respostas

J

Não tem jeito, JSP é executado no servidor e JS no cliente… são coisas totalmente diferentes e não há como interagirem… o maximo que você pode fazer é usar Ajax pra fazer uma requisição a uma outra pagina que executa o que você quer…

M

Beleza.

Intaum para mim criar uma sessão, eu sou obrigado a criar um servlet? Ou tem alguma fora se eu fazer isso em uma classe java normal. Pois como jah falei, estou usando DWR, e não gostaria de recarregar a pagina inteira para dizer q usuario tal não esta cadastrado.

Bem, eu gostaria de saber se tem como criar algo como isso:

...	
if (usuario.equals(user.getUsuario()) && senha.equals(user.getSenha()) && empresa.equals(user.getEmpresa())){
			 session.setAttribute("usuario",usuario);
			retorno = 4;
			
		}
...

ps.:O código acima é só para mostrar mais ou menos o q eu gostaria de fazer, pois eu sei q desse jeito ele naum compila nem aqui e nem na china :wink:

G

Onde está o código JavaScript nesse trecho de código que você colocou aqui ?

Outra coisa, se você quer fazer um controle de login de verdade. Utilize um Filter ou um bom framework de segurança como o JGuard ou Acegi.

M

“Guilherme Mello”:
Onde está o código JavaScript nesse trecho de código que você colocou aqui ?

Outra coisa, se você quer fazer um controle de login de verdade. Utilize um Filter ou um bom framework de segurança como o JGuard ou Acegi.

Esse código q eu coloquei não é javascript, isto esta em um class mesmo. E eu jah estou utilizando um filter, mas eu estou tendo problemas é na hora de criar a sessão mesmo, pois não gostaria de utilizar servlets, pois gostaria de fazer tudo pelo DWR.

J

Mas é só você chamar o metodo da sua classe com o DWR, ele serve é pra isso mesmo…

ex.:

public class Login{ public boolean logar(String usuario, String senha){ //validação } }

Mapeia essa classe no DWR e usa assim:

if(Login.logar("jair", "123")){ alert("Logado..."); }else{ alert("Dados incorretos..."); }

M

Poi zé, ateh ai eu fiz, mas eu não estou conseguindo criar a sessão, somente isso…
Eu só consigo criar uma sessão se eu fizer uma servlet…mas eu gostaria de saber uma forma de fazer isso com uma classe java normal…eu sei q pelo dwr.xml eu posso definir quando uma classe é uma sessão, mas eu me atrapalho com isso, pois não sei como fazer para sessa sessão criada pelo DWR durar tantos minutos, e tbm, essa sessão sempre é iniciada junto com o site, ou seja, cria a sessão antes mesmo de eu fazer o login.

J

O que você quer é isso?

public class Login{ public boolean logar(String usuario, String senha){ Usuario usu = //obter usuario do banco if(senha.equals(usu.getSenha())){ WebContext context = WebContextFactory.get() HttpSession sessao = context.getSession(); sessao.setAttribute("usuario", usuario); return true; } return false; } }

No meu site tem uma aplicação de exemplo de DWR, nela tem isso…

Criado 24 de setembro de 2006
Ultima resposta 25 de set. de 2006
Respostas 7
Participantes 3