Java 如何使用JSTL检查JSP中的请求参数,特别是标记?

Java 如何使用JSTL检查JSP中的请求参数,特别是标记?,java,jsp,jakarta-ee,jstl,Java,Jsp,Jakarta Ee,Jstl,我正在尝试使用标记解析JSP中的请求参数:and 参数是namer result,因此jsp中的变量是requestScope[result] 我有两个问题: 1我想检查两种情况:param是否为null, 我使用了以下代码 <c:if test='${not empty requestScope["result"]}'> <c:set var = "result" value = '${requestScope["result"] }'/> </c

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

参数是namer result,因此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 null和empty不是一回事。-2不要使用两个块,而是使用带and的。或者在单个元素的value属性中使用三元运算符,但周围没有任何内容。关于@Andreas的响应,我理解null和empty之间的区别,但在我的情况下,两者都没有按预期工作。我使用了以下id,但无法解决问题,结果仍然不包含不可用消息@user207421,我将尝试使用该消息。谢谢如果你知道区别,那么为什么你说我想检查两种情况:param为null,但接着用empty而不是null来编写代码?-你知道的默认范围是page scope,对吗?因此requestScope[result]保持不变。您如何进一步使用结果?-问题是此代码始终显示“不可用”,但您的注释是结果仍然不包含“不可用”消息。是哪一个?您的问题是显示消息还是不显示消息?这个问题非常模糊。请详细说明您是如何设置所需值的。然后我们可以详细回答如何正确获得它。谢谢@Jumper的回复