• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

EL arithmetic question

 
igor ganapolsky
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Given this servlet code snippet:
String num = “2”;
request.setAttribute(“num”, num);
Integer i = new Integer(3);
request.setAttribute(“integer”, i);


What prints for the following EL?
${requestScope[“integer”] ne 4 and 6 le num || false}

I thought it prints true because: true and false or false = true

But in the book O'Reilly Head First Servlets and JSP (2nd Edition) they state that it prints false! I just want to make sure I'm not the one who is mistaken here.

Thanks,
Igor
 
Sebastian Janisch
Ranch Hand
Posts: 1183
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
it prints false since 6 <= 2 is false
 
Stefan Evans
Bartender
Posts: 1755
10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

I thought it prints true because: true and false or false = true


It does?

true and false or false
--> (true and false) or false
--> false or false
--> false.

 
igor ganapolsky
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks, I got mixed up.
 
igor ganapolsky
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sebastian Janisch wrote:it prints false since 6 <= 2 is false

The EL expression evaluates to false, but not only for the reason you stated.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic