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