在JSP表达式中是if-then-else?

时间:2012-01-25 18:20:38

标签: java jsp expression

你能在JSP表达式中做一个if-then-else语句吗?

编辑:具体来说,我一直在寻找JSP解决方案,而不是JSTL解决方案。但是下面的一些JSTL解决方案评价很高,非常受欢迎。请不要因为重复的问题而投票给我,因为已经有人问过JSTL。

4 个答案:

答案 0 :(得分:33)

在JSP EL 2.0中,您可以使用三元运算符来实现。例如:

<option value="1" ${param.number == 1 ? 'selected' : ''}>First option</option>

它的作用是检查JSP的param的{​​{1}}变量。如果它是1,则选择被替换。否则,没什么。

答案 1 :(得分:23)

如果您使用的是JSTL,则可以选择 - 否则。

<c:choose>
  <c:when test="condition"></c:when>
  <c:when test="condition2"></c:when>
  <c:otherwise></c:otherwise>
</c:choose>

有关JSTL的更多信息,请尝试here

答案 2 :(得分:12)

您可以使用jsp标签包装html代码,如下所示:

<% if (condition) { %>
<div>Condition is true!</div>
<% } else { %>
<div>Condition is false</div>
<% } %>

答案 3 :(得分:1)

我使用的方法不同,因为Eclipse一直告诉我它无法解析下面执行时来自servlet的变量(PS:我是JSP的新手):

${if(var != null)"text to print"}
${if(var != null)var}  to print a variable 
${if(var != null)"text to print"}

结果将像

  

要打印的文字&lt; var value here&gt;要打印的文字