Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

<c:if test= > is always true

Tags:

jsp

el

I am stuck with the following code. On a JSP page, I want to write different things depending on the terminal the browser is accepted on. the terminal value is set properly in the controller but when executing the following code, all the 3 c:if conditions are considered valid and the three sentences are displayed

<c:if test="${terminal=='android'}">
    <p>you are on android</p>
</c:if>
<c:if test="${terminal=='iphone'}">
    <p>you are on iphone </p>
</c:if>
<c:if test="${terminal=='other'}">
    <p>you are on an other terminal </p>
</c:if>

To check whether the condition was ok, I added the following code which gives correctly true, false, false when accessing from an Android..

<p> ${terminal=='android'}</p>
<p>${terminal=='iphone'}</p>
<p>${terminal=='other'}</p>

Thanks in advance

like image 571
Yves Nicolas Avatar asked Nov 22 '13 13:11

Yves Nicolas


1 Answers

I just forgot to have the right library inclusion

Added

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

at the beggining of the file just works

Found the answer while browsing the comments of

https://stackoverflow.com/questions/10800010/jstl-cif-test-cif?rq=1

like image 191
Yves Nicolas Avatar answered Nov 07 '22 13:11

Yves Nicolas