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?

InformationsquelleAutor user2951465 | 2013-11-04