Java – How to write if else condition using ternary operator in jstl

eljavajspjstl

I want to write a if else condition using ternary in JSTL. I did it using jsp.

My code is using jsp:

<%= relAttributeValue != "false" && !relAttributeValue.equals("false") ? "rel=\"nofollow\"" : "" %>

How can I achieve it using jstl?

Best Answer

You mean Expression Language, EL in short, since that's the component that allows you use ${something} expressions, while JSTL is a tag library which gives you tag components like <c:set>.

In EL, you can do it like this:

<c:set var="ternaryResult"
    value="${(relAttributeValue != 'false') ? 'rel=\"nofollow\"' : ''}" />

Note that in EL you don't need to worry about comparing references using == like in Java. More info on this: Is there an equivalent of '==' from Java in EE 6 JSF EL