你能在JSP表达式中做一个if-then-else语句吗?
编辑:具体来说,我一直在寻找JSP解决方案,而不是JSTL解决方案。但是下面的一些JSTL解决方案评价很高,非常受欢迎。请不要因为重复的问题而投票给我,因为已经有人问过JSTL。
答案 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;要打印的文字