wie um zu überprüfen, ob die ein-Taste gedrückt wurde (in einer jsp-Datei)
Ich arbeite gerade an einer JSP-Datei(nicht benutzen wollen, servlet), habe ich eine einfache form, 2 labels, 2 Eingänge und 2 Tasten, und ich will drucken Sie die eingereichten string auf die gleiche jsp-Seite , das problem ist, dass die letzten Werte, die eingereicht weiterhin gedruckt, auf dem Bildschirm, wie ich versuche, neue, das ist, warum ich dachte, ein test, um zu überprüfen, ob die Schaltfläche submit geklickt wurde, bevor wir uns auf den display, ich habe versucht, diesen code :
<body>
<form method='post'>
<pre>
<label>Username</label> <input type="text" name="user" required/>
<label>Password</label> <input type="password" name="pwd" required />
<br>
<input type="submit" value="confirm" name ="submit" />
<input type="reset" value="clear" />
</pre>
</form>
<br>
//test if the submit button was clicked (check if value of submit is confirm)
<% String x=request.getParameter("submit")%>
<% if (x.equals("confirm")){ %>
<% if (request.getParameter("user")!="" && request.getParameter("pwd")!=""){ %>
<center>
<h4> user is : <% out.write(request.getParameter("user")); %> </h4>
<br>
<h4> password is : <% out.write(request.getParameter("pwd")); %> </h4>
</center>
<% } else { %>
<h4> inputs r empty !! </h4>
<% } %>
<% } %>
</body>
Bekomme ich eine Fehlermeldung bei Zeile :
<% if (x.equals("confirm")){ %>
Ahnung warum ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste von allen, stoppen, öffnen und schließen von JSP-tags unnötig. Seine schlampig und unleserlich. Zweitens, Sie ' re fehlt ein Semikolon. Dritte, Sie müssen prüfen die Möglichkeit, dass der parameter null ist. Wenn das Formular wurde nicht übermittelt, werden die parameter null ist.
Das ist schlecht:
Machen Sie es wie diese:
Könnte man auch Umgekehrt die string-Vergleich. Wenn Sie einen Punkt-operator auf eine variable, die null, erhalten Sie einen null-Zeiger-Ausnahme. So konnte man mit dem Punktoperator auf das string-literal, und damit explizit null:
Auch sobald Sie dieses Problem zu lösen, läufst du in ein problem mit
if (request.getParameter("user")!=""
. Sie benötigen.equals()
da in Java für Strings==
,!=
nicht vergleichen, string Inhalt, aber vergleichen Zeigers (also die Speicheradresse) der Gleichwertigkeit.Scheint diese Frage nicht zu sehr alt . So kann ich sicher hinzufügen, eine Antwort auf diese Frage .
Grundsätzlich, wenn Sie möchten, Prozess vorgelegten form Daten in der gleichen Seite , Sie cab verwenden Sie den folgenden code-snippet :
Der code ist selbsterklärend . Wenn man auf den submit-button , dann können Sie das Formular sonst werden Sie umgeleitet werden, um die form . Hoffe, das hilft .