Odd JSTL error & solution

So I’m coding a Liferay portlet that will display one of two forms on it, depending on the type of customer that is viewing the page. In order to implement this, I decided to that the JSTL ‘choose’ tag would be perfect for what I need.

<c:when test='<%= displayForm.equals("Form1") %>'>
...code for form 1...

<c:when test='<%= displayForm.equals("Form2") %>'>
...code for form 2...

But when I deploy and run my code, I get this error:

According to TLD or attribute directive in tag file, attribute test does not accept any expressions

After about 30 minutes of searching I found the solution on this page.

I had to change

<%@ taglib uri="" prefix="c" %>


<%@ taglib uri="" prefix="c" %>

After that simple tweak, my forms display correctly.

No idea what this does or why I had to do it. But it worked, so I’m happy.