Могу ли я использовать тег JSP, чтобы скрыть поле ввода при загрузке - PullRequest
2 голосов
/ 14 апреля 2011

Мне нужно скрыть поле при загрузке страницы в зависимости от значения атрибута запроса. Я не хочу скрытое поле, потому что хочу показать его снова. Я не хочу делать это с помощью JavaScript. Как это сделать с тегами JSP?

Ответы [ 3 ]

15 голосов
/ 14 апреля 2011

Используйте условный оператор в EL.

<div class="${hide ? 'hide' : 'show'}">

, где ${hide} - атрибут запроса, оцениваемый в boolean.Если он оценивает true, то будет напечатано имя класса "hide", иначе будет напечатано имя класса "show".

Конечно, определите и эти классы в вашей таблице стилей.

.hide { display: none; }
.show { display: block; }

Здесь нет необходимости в JSTL-тегах.


Или, если вы не хотите использовать определения классов CSS по какой-то неочевидной причине, тогда выполните

<div style="display:${hide ? 'none' : 'block'}">
8 голосов
/ 14 апреля 2011

Установите условие, при котором дисплей блокируется, если условие истинно.Иначе, если условие ложно, установите на дисплее значение none.

<c:set var="inputDisplay" value="1" /> <!-- This same as your request attribute -->
<c:choose>
    <c:when test="${inputDisplay == 1}">
        <input type="text" />
    </c:when>
    <c:otherwise>
        <input type="text" style="display:none;" />
    </c:otherwise>      
</c:choose>
2 голосов
/ 14 апреля 2011

В следующем коде будет показано включение кода между тегами, только если requestAttribute оценивается как true, чтобы использовать противоположный эффект, вместо этого используйте ${not requestAttribute}.

<c:if test="${requestAttribute}">
    //Code here
</c:if>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...