webentwicklung-frage-antwort-db.com.de

Überprüfen Sie, ob der Parameter in Expression Language vorhanden ist

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

Wie überprüfe ich, ob param.username existiert?

42
Borut Flis

Verwenden Sie den Check not empty.

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

Bearbeiten: Wenn Sie einen Parameter der Form ?username (Kein Wert) haben, ist es sicherer, ${param.username ne null} Zu verwenden.

64
adarshr

Wenn Sie überprüfen möchten, ob ein Parameter vorhanden ist, testen Sie einfach, ob er nicht null ist. In Ihrem Fall:

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



Weitere Erklärung:

Wenn Sie überprüfen möchten:

  • wenn yourParam existiert/nicht null ist:

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

  • wenn yourParam nicht existiert/null ist

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

  • wenn yourParam nicht leer ist (nicht leere Zeichenkette und nicht null)

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

  • wenn yourParam leer ist (leere Zeichenkette oder null)

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

  • wenn yourParam 'true' ergibt

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

  • wenn yourParam als 'false' ausgewertet wird (Zeichenfolge ungleich 'true')

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

39

Wenn ich einen Kommentar hinzufügen darf ...

Um zu testen, ob der Anforderungsparameter "Benutzername" auf der JSP-Seite "a-jsp.jsp" nicht vorhanden ist, können Sie auf der Seite "a-jsp.jsp" eine "if" -Klausel schreiben:

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

Wir werden diese "if" -Klausel durchgehen, wenn die angeforderte URL lautet:

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

oder

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

Wir werden nicht, wenn die angeforderte URL ist:

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

4
Léa Massiot