Если-то-еще внутри выражения JSP? - PullRequest
24 голосов
/ 25 января 2012

Можете ли вы сделать оператор if-then-else внутри выражения JSP?

РЕДАКТИРОВАТЬ: В частности, я искал решение JSP, а не решение JSTL.Но некоторые решения JSTL ниже высоко оценены и очень приветствуются.Только, пожалуйста, не голосуйте за дубликат вопроса, потому что о JSTL уже спрашивали.

Ответы [ 4 ]

34 голосов
/ 25 января 2012

В JSP EL 2.0 это можно сделать с помощью троичного оператора. Например:

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

Он проверяет переменную param number JSP. Если это 1, то выбранный заменяется. иначе ничего.

23 голосов
/ 25 января 2012

Если вы используете JSTL, вы можете выбрать «когда есть».

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

Для получения дополнительной информации о JSTL попробуйте здесь .

12 голосов
/ 25 января 2012

Вы можете заключить свой HTML-код в теги jsp, например:

<% if (condition) { %>
<div>Condition is true!</div>
<% } else { %>
<div>Condition is false</div>
<% } %>
1 голос
/ 03 мая 2015

есть другой способ, которым я пользуюсь, потому что Eclipse постоянно говорит мне, что он не может разрешить переменную, исходящую от сервлета, при выполнении ниже (PS: я новичок в JSP):

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

результат будет похож на

текст для печати текст для печати

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...