Mit if-else in JSP
Ich bin mit dem folgenden code zu drucken, der den Namen des Benutzers an den browser:
<body>
<form>
<h1>Hello! I'm duke! What's you name?</h1>
<input type="text" name="user"><br><br>
<input type="submit" value="submit">
<input type="reset">
</form>
<%String user=request.getParameter("user"); %>
<%if(user == null || user.length() == 0){
out.print("I see! You don't have a name.. well.. Hello no name");
}
else {%>
<%@ include file="response.jsp" %>
<% } %>
</body>
Antwort.jsp:
<body>
<h1>Hello</h1>
<%= request.getParameter("user") %>
body>
Jedes mal, wenn ich es ausführen, wird die Meldung
Ich sehen! Sie haben keinen Namen.. gut.. Hallo no name
angezeigt bekommt obwohl ich noch nicht eingegeben, nichts in der textbox. Wenn ich aber nichts eingeben, dann die Antwort.jsp-code wird angezeigt, aber ich will nicht die erste Meldung über die Durchführung. Wie mache ich das? Sie schlagen Veränderungen in meinem code.
P. S. ich gelesen hatte, in der Sie einige Fragen, anstatt die Prüfung auf Gleichheit mit null, muss man prüfen, dass Sie nicht gleich, so dass es nicht throw null-Zeiger-Ausnahme. als ich versuchte, die gleiche, d.h. if(user != null && ..)
bekam ich NullPointerException
.
InformationsquelleAutor Awani | 2014-11-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist fast immer empfiehlt nicht die Verwendung von scriptlets in Ihrer JSP. Sie sind schlecht angesehen. Stattdessen versuchen Sie es mit JSTL (JSP Standard Tag Library) in Kombination mit der EL (Expression Language), um die bedingte Logik Sie zu tun versuchen. Als zusätzlichen Vorteil, JSTL umfasst auch andere wichtige Funktionen wie looping.
Statt:
Verwenden:
Auch, es sei denn, Sie beabsichtigen, mit Antwort.jsp irgendwo in Ihrem code, könnte es einfacher sein, fügen Sie einfach den html-Code in Ihre sonst-Anweisung:
Auch der Hinweis. Die Verwendung der core-tag, müssen Sie es importieren wie folgt vor:
Du willst es so machen, erhält der Benutzer eine Meldung, wenn der Nutzer einen Benutzernamen. Der einfachste Weg dies zu tun ist, nicht drucken Sie eine Nachricht an alle, wenn der "user" param ist
null
. Sie können tun, einige Validierung zu geben eine Fehlermeldung, wenn der Benutzer sendetnull
. Dies ist ein standard-Ansatz für Ihr problem. Um dies zu erreichen:In scriptlet:
In jstl:
Die einfachste Lösung, um nicht die Anzeige des Textes ist es bedingt, "user" null oder leer. Was Sie für Fragen ist ein Weg, um die Seite intelligent genug, um zu wissen, dass der "Benutzer" ist null, weil das ist das erste mal in die Seite. Bitte siehe meine Bearbeitungen, die dieses Problem adressieren.
InformationsquelleAutor sfedak
Anstelle von if-else-Bedingung verwenden, wenn in beiden Bedingungen. es wird funktionieren, aber nicht sicher warum.
InformationsquelleAutor MR AND