如何在jstl中使用三元运算符编写if else条件

时间:2013-10-22 05:21:21

标签: java jsp jstl el

大家好我想在JSTL中使用ternary写一个if else条件。我是用jsp做的。 我的代码使用的是jsp:

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

如何使用jstl

实现它

1 个答案:

答案 0 :(得分:7)

你的意思是Expression Language,简称EL,因为那是允许你使用${something}表达式的组件,而JSTL是一个标记库,可以为你提供像<c:set>这样的标记组件。

在EL中,你可以这样做:

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

请注意,在EL中,您不必担心像Java一样使用==来比较引用。有关此问题的更多信息:Is there an equivalent of '==' from Java in EE 6 JSF EL