Attualmente sto lavorando a un progetto di gestione inventario. Sto lavorando con JSP e MySQL su Netbeans Platform. Nel mio progetto sull'interrogazione ho bisogno di recuperare i valori dal database e visualizzarli in una tabella. Le righe da visualizzare dovrebbero essere dinamiche nella mia pagina. Dovrebbero essere visualizzati in qualsiasi numero. Supponiamo che quando desidero recuperare i valori in base ad una particolare scelta che seleziono, dovrei essere in grado di visualizzare tutti i dati in base alla scelta e visualizzarli nelle righe della tabella. Non riesco a visualizzarlo in più file del mio tavolo perché sto usando le caselle di testo per visualizzare i valori. Ecco il frammento di codice:Recupera i dati dal database e li visualizza dinamicamente nelle righe della tabella utilizzando le caselle di testo
<table>
<tr>
<td>
<select name="choice_type">
<option>select</option>
<option value="part_type">part_type</option>
<option value="category">category</option>
<option value="names">names</option>
</select>
</td>
</tr>
<tr>
<th>VAL</th>
<th>VAL DESC</th>
</tr>
<tr>
<td> <input type="text" name="val" id="val" size="15" /></td>
<td> <input type="text" name="val_desc" id="val_desc" size="15" /></td>
</tr>
</table>
<input type="submit" name="Query" value="Query" onClick="getData();"/>
La funzione getData() è la seguente:
function getData(){
xmlHttp=GetXmlHttpObject()
var id=document.getElementById("choice_type").value;
var url="choice_retrieval.jsp";//The code for this file is defined below
url=url+"?choice_type="+id;
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null);
}
function stateChanged(){
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
var showdata = xmlHttp.responseText;
var strar = showdata.split(":");
if(strar.length>1){
var strname = strar[1];
document.getElementById("val").value= strar[1];
document.getElementById("val_desc").value= strar[2];
}
}
Il frammento di codice per choice_retrieval.jsp è la seguente: tavolo
<%
String ch = request.getParameter("choice_type").toString();
System.out.println(ch);
String data ="";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://", "", "");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from master_panel where choice_type='"+ch+"'");
while(rs.next())
{
data = ":" + rs.getString("val") + ": " + rs.getString("val_desc");
}
out.println(data);
System.out.println(data);
}
catch(Exception e) {
System.out.println(e);
}
%>
Database usato qui è master_panel (choice_type varchar, val varchar, val_desc varchar). Non ho messo alcun vincolo al momento. Sulla base del valore choice_type ho bisogno di recuperare i dati corrispondenti (val e val_desc) dal database e visualizzarli in righe dinamiche.
Concordato sul numero di operazioni errate, ma sembra che @Neal stia tentando di eseguire una chiamata Ajax (vedere il metodo getData) una volta caricata la pagina lato client, quindi JSTL non è la soluzione da seguire . –
@TrueDub: per recuperare i dati dal database sul server, effettuo una chiamata AJAX al server. Se sbaglio, per favore aiutami. Il mio obiettivo è visualizzare i dati nelle righe (caselle di testo) della tabella. Sono nuovo di JSP, quindi se riesci a fornirmi qualche tutorial di esempio su questo, mi sarebbe di grande aiuto. – Neal
@Nick Holt: se riesci a fornirmi un tutorial di esempio che dimostri il concetto di cui sopra, sarebbe di grande aiuto per me. Thanx – Neal