4

我想在 JSTL 中使用三元来编写 if else 条件。我是用jsp做的。

我的代码使用的是jsp:

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

如何使用 jstl 实现它?

4

1 回答 1

8

您的意思是Expression Language,简称 EL,因为它是允许您使用${something}表达式的组件,而 JSTL 是一个标签库,可为您提供像<c:set>.

在 EL 中,您可以这样做:

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

请注意,在 EL 中,您无需担心==在 Java 中使用 like 来比较引用。有关此的更多信息:在 EE 6 JSF EL 中是否有来自 Java 的“==”等价物

于 2013-10-22T05:25:39.333 回答