Win a copy of Java Mock Exams (software) this week in the Programmer Certification (OCPJP) forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

EL

 
Sharma Anjali
Ranch Hand
Posts: 63
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The above code does not display anything
<html>
<body>
<% String [] favFood = {"Ice cream", "Chocolate", "pizza"}; %>
Food: ${favFood["0"]}
</body>
</html>


But if I make the following changes it works fine

<html>
<body>
<% String [] favFood = {"Ice cream", "Chocolate", "pizza"};
request.setAttribute("favFood", favFood);
%>
Food: ${favFood["0"]}
</body>
</html>


Why do I have to set the array as an attribute? Why can't I access it on the same page without setting it an an attribute.
 
Nitish Bahadur
Ranch Hand
Posts: 118
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The EL needs to find the variable(and its value) in some namespace. The namespace it looks at are page, request, session, and application. Declaring a scripting variable does not add the variable to any namespace. Hence you have to use setAttribute.
 
What are you doing? You are supposed to be reading this tiny ad!
the new thread boost feature brings a LOT of attention to your favorite threads
https://coderanch.com/t/674455/Thread-Boost-feature
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!