JSTL com JavaBean

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…

:wink:

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 ?

&lt;c&#58;out value=&quot;$&#123;loginBean.status&#125;&quot; /&gt;

vc a diretiva taglib na página ???

&lt;%@ taglib prefix=&quot;c&quot; uri=&quot;http&#58;//java.sun.com/jstl-el/core&quot; %&gt;

:wink:

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…

:wink:

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