Seguinte, estou fazendo uma login em um banco de dados e armazenando um status em uma variável no JavaBean (0 = nao logado; 1 = logado ). Gostaria de fazer um teste nessa variável utilizando o jstl, que caso seja zero não faz nada, senão executa um js. A minha dificuldade está em armazenar essá variável e fazer o teste de condição. Alguém poderá ajudar?
Att,
Ricardo
Oi kardon…
Para acessar JavaBeans, Maps… com JSTL:
${myObj.myProperty}
Ex:.
${login.status}
para exibir o valor do status:
<c:out value="${login.status}" />
para armazenar a propriedade do Objeto em uma variável:
<c:set var="status" value="${login.status}"/>
para realizar a condição:
[code]<c:choose>
<c:when test="status == 0">
</c:when>
<c:when test="status == 1">
// chama o JS…
</c:when>
</c:choose>[/code]
Ok kardon ???
Aproveite as dicas…
Acho q seria melhor colocar na sessao isso ai heim, assim ficaria disponivel para o usuario enquanto ele estivesse acessando o site
Não funcionou!!! O que apareçe é: ${loginBean.status}. Alguém sabe porque?
Att,
Ricardo
vc fez assim ?
<c:out value="${loginBean.status}" />
vc a diretiva taglib na página ???
<%@ taglib prefix="c" uri="http://java.sun.com/jstl-el/core" %>
Segue aí o código que eu estou utilizando. No campo jsf aparece o valor do status, mas no campo jstl aparece ${loginBean.status}. Lembrando que aqui o jb loginBean está declarado no faces_config.xml. Já tentei pegar o valor diretamente do jb, mas eu tb não consegui.
<%@taglib uri=“http://java.sun.com/jsf/html” prefix=“h”%>
<%@taglib uri=“http://java.sun.com/jsf/core” prefix=“f”%>
<%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<html>
<head>
<title></title>
</head>
<body>
<f:view>
<h:form>
<h:outputText id=“k” value="#{loginBean.status}" />
<c:out value="${loginBean.status}" />
</h:form>
</f:view>
</body>
</html>
package Ponto;
public class Autenticacao {
private int status = 1;
public void setStatus( int status )
{
this.status = status;
}
public int getStatus()
{
return this.status;
}
}
Att,
Ricardo
tem q usar core-rt ao inves de core
sim, pois ten que haver suporte a EL…
Estou usando a verão mais recente do jstl, e não apareceu a taglib jstl-el, será q essa taglig já não está inclusa no arquivo jstl e com isso não precisaria declarar? Ou é um arquivo separado?
Att,
Ricardo
Resolvido!!! Como???
Seguinte: Para a versão mais recente do jstl(1.1.2), não é necessário colocar o jst-el, isso já fica disponível dentro do jstl.jar, portanto <%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%> é o correto para essa versão do jstl.
O meu problema foi o descritor web.xml que não estava compatível para o servlet 2.4.
Bom, é isso. Agradeço a tds que tentaram me ajudar.
Att,
Ricardo