<logic:notPresent> não esta funcionando

4 respostas
ekszuki

Olá pessoal, alguém pode me dizer porque a tag <logic:notPresent> não esta encontrando o meu Bean ??? Ai vai as partes de código…

Este codigo esta na classe action que valida o login do usuario

// Save our logged-in user in the session
     HttpSession session = request.getSession&#40;&#41;;
     session.setAttribute&#40;Constants.USER_KEY, user&#41;;

Constants.USER_KEY --> esta definida em uma classe chamada Constants da seguinte forma public static final String USER_KEY = “user”;

Até aqui nenhum erro tudo funcionando legal, inclusive a validação do usuário e o forward no struts…

O problema ta ocorrendo na página mainMenu.jsp no seguinte trecho:

&lt;logic&#58;notPresent name="user" scope="session"&gt;
  &lt;font color="red"&gt;
    ERROR&#58;  Usuario nao encontrado
  &lt;/font&gt;
  &lt;hr&gt;
&lt;/logic&#58;notPresent&gt;

Ele mostra: ERROR: Usuario nao encontrado

mas o estranho é que logo abaixo eu uso:

&lt;bean&#58;write name="user" property="username"/&gt;

ele mostra o nome do usuário

Bom ai fiz um teste:

&lt;% 
   java.util.Enumeration e = session.getAttributeNames&#40;&#41;;
   while&#40; e.hasMoreElements&#40;&#41; &#41; &#123;
      String name = &#40;String&#41;e.nextElement&#40;&#41;;
      String value = session.getAttribute&#40;name&#41;.toString&#40;&#41;;
      out.println&#40;name + " = " + value + "&lt;br&gt;"&#41; ;
   &#125;
%&gt;

E olha so a resposta:

user = br.com.usialto.classes.PostgresUser@19eef79
org.apache.struts.action.LOCALE = en_US

Alguém poderia me falar o que esta acontecendo… ???

T+

4 Respostas

R

kra vc esta definindo a taglilb struts-logic.tld no jsp que vc esta tentando testar o bean ?
talvez vc definiu a taglib struts-bean.tld e esqueceu a logic dae o bean:write funfa mas o logic:notPresent não

[]s
Daniel

caiofilipini

Não sei não… Se fosse isso, apareceria na tela:

<logic:notPresent name=“user” scope=“session”>
<font color=“red”>
ERROR: Usuario nao encontrado
</font>
<hr>
</logic:notPresent>

[]'s

R

geralmente isso não aparece no browser mas se vc pedir pra visualizar o source, ai sim ira aparecer as tags, no caso as logic

&lt;logic&#58;notPresent name=&quot;user&quot; scope=&quot;session&quot;&gt; &lt;font color=&quot;red&quot;&gt; ERROR&#58; Usuario nao encontrado &lt;/font&gt; &lt;hr&gt; &lt;/logic&#58;notPresent&gt; :slight_smile:

ekszuki

Obrigado pela ajuda, mas já descobri o que estava acontecendo…
Na verdade faltava “importar” o arquivo de tag´s

&lt;%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %&gt;

Depois que eu coloquei essa linha passou a funcionar, mesmo assim valeu

T+

Criado 24 de setembro de 2004
Ultima resposta 27 de set. de 2004
Respostas 4
Participantes 3