comment présenter l'option sélectionnée dans la liste déroulante dans la page jsp pour effectuer une requête mysql
Mon projet est StaffAllocation, et je veux récupérer les informations de la base de données. Je suis très nouveau et c'est mon tout premier projet. J'ai créé une liste déroulante de récupération staffnames
de l'un de mes tableau. Maintenant, je veux exécuter une requête action pour afficher les détails de la sélection staffnames
à partir de la liste déroulante. Voici le codage que j'ai, ce qui n'est pas correct:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.lang.*" %>
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%ResultSet resultset =null; %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Staff Details</title>
</head>
<BODY>
<form method=post>
<h3>Select Stafftype:</h3>
<p><input type="radio" name="Stafftype" value="Male"> Male</input></p>
<p><input type="radio" name="Stafftype" value="Female"> Female</input></p>
<input type="submit" value="Submit">
</form>
<%
try{
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/StaffAllocation? user=root&password=success");
Statement statement = connection.createStatement() ;
String Stafftype= request.getParameter("Stafftype");
out.print(Stafftype);
if(Stafftype.contentEquals("Male")){
resultset=statement.executeQuery("select * from tblstaffdetails where Stafftype= 'Male'");
}
else if(Stafftype.contentEquals("Female")){
resultset=statement.executeQuery("select * from tblstaffdetails where Stafftype= 'Female'");
}
else
{
System.out.println("your coding is wrong");
}
%>
<select> <% while(resultset.next()){ %>
<option><%= resultset.getString(2)%></option>
<%} %>
<%
String StaffName= request.getParameter("StaffName");
int staffId;
String subcode;
if(StaffName != null) {
resultset=statement.executeQuery("SELECT a.staffId, a.StaffName, b.subcode FROM tblstaffdetails a LEFT JOIN tblsubhandled b ON a.staffId = b.staffId where StaffName='request.getParameter('StaffName')'");
}
}
catch(Exception e)
{
out.println("wrong entry"+e);
}
%>
<form method = "get">
<br><br>
<input name="Submit" type="button" value="Submit">
</form>
</body>
</html>`
Tables:
tblstaffdetails -(1).staffId(2).StaffName(3).Stafftype(mâle ou femelle)
tblsubhandled - (1).staffId(2).subcode
- Vous devez vérifier cette Comment faire pour éviter de Code Java dans les pages JSP-Fichiers? avant de procéder.
- pouvez-vous s'il vous plaît aider moi comment effectuer l'opération de requête sur un élément sélectionné à partir du menu déroulant
- Ouais, bien sûr. Ce que vous avez besoin est de remplir deuxième liste déroulante basée sur la valeur de la première liste déroulante, par conséquent, vous devez utiliser Ajax pour envoyer votre valeur de servlet et de remplir la réponse à votre deuxième liste déroulante. Laissez-moi savoir si vous avez besoin d'aider d'autres personnes.
- cela me montre que j'ai beaucoup à apprendre. pouvez-vous s'il vous plaît poster un exemple de codage pour l'exécution d'une opération de requête sur un StaffName?
- Je l'ai déjà fait, Vous pouvez trouver la réponse ci-dessous.
- monsieur, je vous remercie pour votre aimable réponse. le terme ajax est quelque chose de nouveau pour moi. je n'ai pas beaucoup de temps, parce que mon projet de démonstration est demain. au moins je doit afficher une page, je n'ai pas compris ce que vous avez dit 🙁
- la baisse dowm case est générée à partir de ma base de données. quel est le but de générer de la deuxième liste déroulante? est-il possible de traiter la valeur html lui-même?
Vous devez vous connecter pour publier un commentaire.
J'ai bricolé exemple de mise en œuvre pour votre référence. Vous pouvez mettre en place comme ça. Tout ce que vous devez faire est d'inclure le plugin jQuery. Exemple de code comme ceci,
Vous avez besoin pour composer votre java réponse comme balise select et le retourner à votre réponse ajax. Enfin, vous pouvez remplir la deuxième liste déroulante comme ça. Laissez-moi savoir si cela aide.