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.
AJAX
E como ficaria esse código com Ajax?
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.
[quote=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.[/quote]
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.
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.
[quote=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.[/quote]
No caso eu não estou usando servlet. Como poderia fazer?
Se não está utilizando servlets, como é feita a comunicação da sua página como o servidor? Está usando algum framework?
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:
[code]<%if (){%>
<h1>Testando if</h1>
<% }%> [/code]
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:
[code]<%if (alteracaoContratos.modal){%>
<h1>=/</h1>
<% }%> [/code]
O eclipse acusa o seguinte erro:
Systax error on token "(", Expression expected after this token.
Aguardo.