Como faz em JSTL

Bom dia pessoal.
Seguinte, eu sou meio ligo no esquema de JSTL e preciso descobrir como funciona isso.

Eu tenho uma variavel de sessão chamada AdministradorMarca, eu gostaria de verificar no meu JSP via JSTL se essa minha variavel é nula. hoje eu estou fazendo assim:

<%
if ( session.getAttribute(“AdministradorMarca”) != null ){
out.println(((Administrador)(session.getAttribute(“AdministradorMarca”))).getNome());
} else { response.sendRedirect(""Erro.jsp); }
%>

com eu tranformo isso para JSTL?

Por favor, me ajudem. uahuahauhauauahauah

<c:if test="${AdministradorMarca == null}">
faça algo
</c:if>

ou

<c:choose>
<c:when test="${AdministradorMarca == null}">
// Se o objeto AdministradorMarca for null executa este bloco
</c:when>
<c:otherwise>
// Se não for null executa este
</c:otherwise>
</c:choose>

[]'s

<c:choose>
<c:when test="${AdministradorMarca == null}">
faça algo
</c:when>
<c:otherwise>
faça outra coisa rs
</c:otherwise>
</c:choose>

[]'s

Você tb pode usar o operador lógico multiuso empty:

<c:if test="${empty AdministradorMarca}" ... </c:if>>

Legal obrigado.
Mas incomodando mais um pouco. Quando eu entro no if de aceitação (AdministradorMarca != null) … eu tenho que imprimir o nome da pessoa.

Eu fiz assim: out.println((( Administrador ) ( session.getAttribute(“AdministradorMarca”) ).getNome());

como eu faria isso em JSTL?

Seria

<c:out value="${AdministradorMarca.getNome()}"/>

Fiz isso mais deu erro.

Podem me ajudar?

Basta usar ${AdministradorMarca.nome} em qualquer lugar.

Tirou minhas duvidas também. obrigado

O ideal é tu mesclar jstl com tags padrao do jsp para remover os scriptlets, se é que esta foi tua intenção…

<jsp:useBean id=“AdministradorMarca” class=“pacote.Administrador” scope=“session” />
<jsp:setProperty name=“AdministradorMarca” property="*" />

<c:choose>
<c:when test="${not empty AdministradorMarca}">
<c:out value="${AdministradorMarca.nome}" />
</c:when>
<c:otherwise>
<jsp:forward page=“Erro.jsp” />
</c:otherwise>
</c:choose>

igual a:

<%
if ( session.getAttribute(“AdministradorMarca”) != null ){
out.println(((Administrador)(session.getAttribute(“AdministradorMarca”))).getNome());
} else { response.sendRedirect(""Erro.jsp); }
%>

Se tiver em um escopo de hierarquia superior o mesmo “AdministradorMarca”, vai dar bronca…

tu tem que usar um <jsp:useBean…> para pegar o Bean do tipo que voce deseja…

caso tu utilize o ${sessionScope.AdministradorMarca} vai dar erro, pois na verdade ele é um Map, logo retorna um Object…

se utilizar ${AdministradorMarca.nome} e, vai saber, existir outro cara com o mesmo nome em outro escopo, vai dar bronca… (como citei o post do camarada acima)

tenta utilizando as tags padrao do jsp, como no meu post acima (eu editei)

[quote=emersonvs]Legal obrigado.
Mas incomodando mais um pouco. Quando eu entro no if de aceitação (AdministradorMarca != null) … eu tenho que imprimir o nome da pessoa.

Eu fiz assim: out.println((( Administrador ) ( session.getAttribute(“AdministradorMarca”) ).getNome());

como eu faria isso em JSTL?

Seria

<c:out value="${AdministradorMarca.getNome()}"/>

Fiz isso mais deu erro.

Podem me ajudar?[/quote]

leia-se :

${sessionScope.AdministradorMarca.nome} vai dar erro, pois…

[editado]