我可以使用jsp标记来隐藏加载时的输入字段

时间:2011-04-13 22:21:21

标签: jsp jstl

我需要根据请求属性的值隐藏页面加载中的字段。我不想要一个“隐藏”字段,因为我想再次显示它。我不想用javascript做这件事。如何用jsp标签完成?

3 个答案:

答案 0 :(得分:15)

在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'}">

答案 1 :(得分:8)

如果条件为真,则设置显示为阻止的条件。否则,如果条件为假,则将显示设置为无。

<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 :(得分:2)

以下代码仅显示包含代码之间的代码,如果requestAttribute评估为true以产生相反的效果,则使用${not requestAttribute}

<c:if test="${requestAttribute}">
    //Code here
</c:if>