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

cod*_*der 2 jsp jstl

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

Bal*_*usC 15

在EL中使用条件运算符.

<div class="${hide ? 'hide' : 'show'}">
Run Code Online (Sandbox Code Playgroud)

${hide}请求属性在哪里评估为a boolean.如果进行评估true,则将"hide"打印类名,否则"show"将打印类名.

当然也要在样式表中定义这些类.

.hide { display: none; }
.show { display: block; }
Run Code Online (Sandbox Code Playgroud)

这里不需要JSTL标签.


或者,如果您不想使用CSS类定义出于某种不明显的原因,那么就这样做

<div style="display:${hide ? 'none' : 'block'}">
Run Code Online (Sandbox Code Playgroud)


ace*_*ace 8

如果条件为真,则设置显示为块的条件.否则,如果条件为false,则将显示设置为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>
Run Code Online (Sandbox Code Playgroud)