Ich habe eine JSP-Seite, die Inhalte aus der Datenbank lädt, je nachdem, was der Benutzer sehen muss (Laden von Buchinformationen). Aber ich muss auch den Benutzer eingeben, um die Menge auf der gleichen JSP-Seite einzugeben.Wie Eingabewert als Anforderungsparameter einer Verbindung zu einem Servlet senden?
Ich verwendete JSTL-Tags, um Informationen aus der Datenbank abzurufen und sie mit dem folgenden Code anzuzeigen.
<c:forEach var="book" items="${listBooks.rows}">
<tr>
<td><c:out value="${book.bookID}"/></td>
<td><c:out value="${book.bookName}" /></td>
<td><c:out value="${book.bookType}" /></td>
<td><c:out value="${book.Price}" /></td>
Diese Information wird auf c: param gesetzt, damit ich sie im Servlet verwenden kann.
Ich habe einen HTML-Text für den Benutzer, um die Menge einzugeben. Meine Frage ist, wie kann ich dies als ein Parameter an das Servlet senden, da das Anfrageobjekt den Mengenparameter nicht abruft (ich vermute, das liegt daran, dass es sich nicht in einem Formular befindet, das auf das spezifische Servlet (AddBookServlet) verweist.)
Mein Code
<form>
<td>Quantity: <input type="text" name="quantity" value="" style="height:30px; width: 45px"/>
</td>
</form>
<td><a style="color: blue;" class="myButton1"
href=<c:url value="/AddBookServlet">
<c:param name="id" value="${book.bookID}"/>
<c:param name="name" value="${book.bookName}"/>
<c:param name="type" value="${book.type}"/>
<c:param name="amount" value="${book.price}"/>
<c:param name="seat" value="${param.quantity}" /><%-- not sure if this is the way to do it--%>
</c:url> > Add book</a>
Warum würde der Buchname ein Eingabefeld sein? Einfach ausdrucken und die ID in einem versteckten Feld übergeben. – Peter
@Peter Ich stimme dir zu, aber ich hatte den Eindruck, dass er versuchte, jedes Feld an das Servlet als Parameter übergeben, vielleicht nicht, sie wieder aus der db –
abrufen Ich denke, er muss, wenn er fortfahren will arbeite mit einem Buchobjekt, aber ich verstehe jetzt. Bonus-Score für das Readonly-Attribut - deaktiviertes Feld wird nicht gesendet. :) – Peter