Try 

    <c:choose>
        <c:when test="${userSession.username}">
            <html:link action="/logout"><bean:message
key="main.menu.logout"/>
                </html:link>
        </c:when>
        <c:otherwise>
            <html:link action="/login"><bean:message key="main.menu.login"/>
                </html:link>
        </c:otherwise>
    </c:choose>

-----Original Message-----
From: Andy [mailto:[EMAIL PROTECTED] 
Sent: Dienstag, 31. Mai 2005 11:37
To: Tag Libraries Users List
Subject: RE: c:choose not evaluating correctly


Thanks, but I still get the same result, it's as if the 'test' function just
refuses to work. Here's the test page I'm using -

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib
uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-html"
prefix="html" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@
taglib uri="http://java.sun.com/jstl/core"; prefix="c"%>

<html>
<head>
    <link rel="stylesheet" type="text/css"
          href="<html:rewrite page="base.css" />" />
    <title><bean:message key="welcome.title"/></title> </head>

Username:
<jsp:useBean id="userSession" scope="session"
class="template.filter.UserSession"/>
<jsp:getProperty name="userSession" property="username"></jsp:getProperty>

<table>
<tr>
    <td>
    <c:choose>
        <c:when test="${null == userSession.username}">
            <html:link action="/login"><bean:message key="main.menu.login"/>
                </html:link>
        </c:when>
        <c:otherwise>
            <html:link action="/logout"><bean:message
key="main.menu.logout"/>
                </html:link>
        </c:otherwise>
    </c:choose>
    </td>
</tr>
</table>
</body>
</html>

>-----Original Message-----
>From: Lieven De Keyzer [mailto:[EMAIL PROTECTED]
>Sent: 30 May 2005 23:32
>To: taglibs-user@jakarta.apache.org
>Subject: RE: c:choose not evaluating correctly
>
>
>Try using
>
><c:when test="${null == sessionScope.userSession}">
>
>>From: "Andy" <[EMAIL PROTECTED]>
>>Reply-To: "Tag Libraries Users List" <taglibs-user@jakarta.apache.org>
>>To: <taglibs-user@jakarta.apache.org>
>>Subject: c:choose not evaluating correctly
>>Date: Mon, 30 May 2005 20:31:52 +0100
>>
>>
>>Hi All,
>>
>>I have a menu in which I want to display a 'login' link when an object 
>>called 'userSession' does not exist in the session scope, and a 'logout'
>>link when the 'userSession' object does exist in the seesion scope.
>>
>>I'm using Struts, and the 'userSession' object is set in an
>>Action.execute()
>>method when a form is submitted containing a valid username and 
>>password i.e. -
>>
>>         UserSession s = new UserSession();
>>         s.setUsername(username);
>>         // Save the user session object
>>         request.getSession().setAttribute("userSession",s);
>>
>>So I figure this is all I have to do is -
>>
>>     <c:choose>
>>         <c:when test="${empty sessionScope.userSession}">
>>             <html:link action="/login"><bean:message 
>>key="main.menu.login"/></html:link>
>>         </c:when>
>>         <c:otherwise>
>>             <html:link action="/logout"><bean:message 
>>key="main.menu.logout"/></html:link>
>>         </c:otherwise>
>>     </c:choose>
>>
>>However in the test case where I have not logged in, so the action 
>>that sets the userSession object is not invoked, this doesn't work as 
>>expected. The else part is always evaluated, indicating that 
>>sessionScope.userSession isn't empty when I know it is! If I print out 
>>an attribute of the userSession object -
>>
>><jsp:getProperty name="userSession" 
>>property="username"></jsp:getProperty>
>>
>>I get 'null' displayed - this is correct because the userSession 
>>object doesn't exist, but the c:choose doesn't evaluate correctly.
>>
>>Clearly I'm doing something wrong, but I just can't see what it
>is, or even
>>if it's a JSTL issue.
>>
>>Thanks,
>>
>>Andy.
>>
>>
>>
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to