Verificar uma variável do java dentro de código javascript é possível?

8 respostas
Matheus_terra

Tem como usar um código java dentro de uma function do javascript que esta dentro de uma página .jsp? Estou com o seguinte problema. Tenho uma classe .java
e uma tela .jsp, na classe .java, tenho uma variável boolean que se o código que o cliente digitou estiver diferente do código que esta na minha base de dados, essa variavel receberá true e eu gostaria de abrir um alert do código .js pro usuário, mas para isso , eu teria que verificar se a variavel do java esta como true ou false. Aguardo ajuda.

8 Respostas

E

AJAX

Matheus_terra

E como ficaria esse código com Ajax?

gmmascarin

Se a página puder ser completamente carregada, então dá para usar jstl.

<c:if test="${variavel == false}">
</c:if>

Se quiser validar assim que o usuário digitou o valor do campo, não sendo necessário carregar toda a página, pode usar AJAX.
Para aprender ajax: http://www.w3schools.com/ajax/ajax_intro.asp. Tem algumas bibliotecas que podem te ajudar com o ajax. Se tiver usando JSF é moleza.

Matheus_terra

gmmascarin:
Se a página puder ser completamente carregada, então dá para usar jstl.

<c:if test="${variavel == false}">
</c:if>

Se quiser validar assim que o usuário digitou o valor do campo, não sendo necessário carregar toda a página, pode usar AJAX.
Para aprender ajax: http://www.w3schools.com/ajax/ajax_intro.asp. Tem algumas bibliotecas que podem te ajudar com o ajax. Se tiver usando JSF é moleza.

Mas para eu chamar uma variavel da classe .java dentro desse if ficaria como? Ja tentei e não deu certo. Agora que me mostrou isso, queria fazer de um jeito diferente, se a variavel que estou testando for igual a true, um código html, por exemplo, seria usado.

gmmascarin

Para chamar a variável, ela deve estar em algum escopo, com por exemplo request. Para fazer isso, dentro do seu servlet(se é que está utilizando) adicione o código:

request.setAttribute("variavel", valor);

Como você disse que irá montar um html, poderia fazer o if diretamente no seu get/post e, a partir daí, ou montava o html ou redirecionava/encaminhar para a página correta.

Matheus_terra

gmmascarin:
Para chamar a variável, ela deve estar em algum escopo, com por exemplo request. Para fazer isso, dentro do seu servlet(se é que está utilizando) adicione o código:

request.setAttribute("variavel", valor);

Como você disse que irá montar um html, poderia fazer o if diretamente no seu get/post e, a partir daí, ou montava o html ou redirecionava/encaminhar para a página correta.

No caso eu não estou usando servlet. Como poderia fazer?

gmmascarin

Se não está utilizando servlets, como é feita a comunicação da sua página como o servidor? Está usando algum framework?

Matheus_terra

Estou usando JSF. Com as seguintes libs:

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>

Ja que esta online e me respondendo, me ajude nisso, se conseguir, ja resolve meu problema. Tenho o seguinte if no jsp:

<%if (){%>
				
     <h1>Testando if</h1>

<% }%>

Na condição, eu gostaria de chamar uma classe java pra usar nela uma variavel boolean e verificar se esta true ou false. Como eu faria pra estar chamando essa classe?

Se eu colocar assim:

<%if (alteracaoContratos.modal){%>
						
      <h1>=/</h1>

<% }%>

O eclipse acusa o seguinte erro:

Systax error on token "(", Expression expected after this token.

Aguardo.

Criado 11 de março de 2013
Ultima resposta 11 de mar. de 2013
Respostas 8
Participantes 3