如何使用JSTL在JSP中检查请求参数,尤其是<c:set>标记?

时间:2019-06-01 01:50:14

标签: java jsp java-ee jstl

我正在尝试使用标记解析JSP中的请求参数:和

该参数是命名器结果,所以我在jsp中的变量是requestScope [“ result”]

我确实有两个问题: 1)我想检查两种情况:param是否为null, 我使用了以下代码

  <c:if test='${not empty requestScope["result"]}'>
    <c:set var = "result" value = '${requestScope["result"] }'/>
  </c:if>
  <c:if test='${empty requestScope["result"]}'>
    <c:set var = "result" value = ' not available'/>
  </c:if>

为了将请求的结果设置为结果变量,如果为空,则设置为“不可用”值

此代码始终显示不可用,但是当我删除第二个测试时,它正确显示了结果

我也尝试了'${param.result != null}'测试,它给出了相同的结果。

提前谢谢

1 个答案:

答案 0 :(得分:0)

我有类似的代码,这种方式对我有效:

<c:set var="result" value="${(requestScope['result'] == null || requestScope['result'] eq '') ? 'not available' : ${requestScope['result']}}"/>