检查参数表达式语言存在[复制](Check if parameter exists in Expre

2019-06-25 06:56发布

这个问题已经在这里有一个答案:

  • 评估空或空JSTLç标签 8个回答
<c:if test="${param.username}" >
</c:if>

如何检查是否存在param.username?

Answer 1:

使用not empty检查。

<c:if test="${not empty param.username}" >
</c:if>

编辑:如果你有以下形式的参数?username (没有值),它是更安全的使用${param.username ne null}



Answer 2:

如果您想检查参数存在,如果只是测试它不为空,你的情况:

<c:if test="${param.username != null}"></c:if>



更广泛的解释:

如果您想查询:

  • 如果yourParam存在/不为空:

    <c:if test="${param.yourParam != null}"></c:if>

  • 如果yourParam不存在/为空

    <c:if test="${param.yourParam == null}"></c:if>

  • 如果yourParam不为空(不是空字符串,不为空)

    <c:if test="${!empty param.yourParam}"></c:if>

  • 如果yourParam是空的(空字符串或null)

    <c:if test="${empty param.yourParam}"></c:if>

  • 如果yourParam计算结果为“真”

    <c:if test="${yourParam}"></c:if>

  • 如果yourParam计算结果为“假”(字符串不是“真”等)

    <c:if test="${!yourParam}"></c:if>



Answer 3:

如果我可以添加评论...

要测试请求参数“用户名”并不在JSP页面“A-jsp.jsp”的存在,我们可以写一个“如果”页面“A-jsp.jsp”条款:

<c:if test="${empty param['username']>
...
</c:if>

我们将通过“如果”条款,如果请求的URL是:

http://server/webapp/a-jsp.jsp

要么

http://server/webapp/a-jsp.jsp?username=

我们不会请求的URL是:

http://server/webapp/a-jsp.jsp?username=foo



文章来源: Check if parameter exists in Expression Language [duplicate]