2010-04-18 5 views
0

J'essaie de créer un examen en ligne avec JSP. Je veux obtenir les questions une par une et les montrer sur l'écran, et créer un bouton "Suivant" alors l'utilisateur peut voir la question suivante, mais le problème est que je ne sais pas comment découvrir que l'utilisateur a cliqué sur le bouton « Suivant », je sais comment le faire en PHP:comment trouver le formulaire est soumettre dans JSP?

if($_SERVER['REQUEST_METHOD']=='GET') 
    if($_GET['action']=='Next') 

mais je ne sais pas comment le faire en JSP. S'il vous plaît aidez-moi c'est mon morceau de code:

String result = ""; 
    if (database.DatabaseManager.getInstance().connectionOK()) { 
     database.SQLSelectStatement sqlselect = new database.SQLSelectStatement("question", "question", "0"); 
     ResultSet _userExist = sqlselect.executeWithNoCondition(); 
     ResultSetMetaData rsm = _userExist.getMetaData(); 

     result+="<form method='post'>"; 
     result += "<table border=2>"; 
     for (int i = 0; i < rsm.getColumnCount(); i++) { 
      result += "<th>" + rsm.getColumnName(i + 1) + "</th>"; 
     } 

     if (_userExist.next()) {     
      result += "<tr>"; 
      result += "<td>" + _userExist.getInt(1) + "</td>"; 
      result += "<td>" + _userExist.getString(2) + "</td>"; 
      result += "</tr>"; 
      result += "<tr>"; 
      result += "<tr> <td colspan='2'>asdas</td></tr>"; 
      result += "</tr>";     
     } 
     result += "</table>"; 
     result+="<input type='submit' value='next' name='next'/></form>"; 
    } 

Répondre

1

Les paires nom-valeur de toutes les parties concernées des éléments d'entrée HTML sont disponibles en tant que paramètres de demande.

<input type="submit" name="action" value="prev"> 
<input type="submit" name="action" value="next"> 

avec

String action = request.getParameter("action"); 
if ("prev".equals(action)) { 
    // Prev button pressed. 
} else if ("next".equals(action)) { 
    // Next button pressed. 
} 

ou bien,

<input type="submit" name="prev" value="prev"> 
<input type="submit" name="next" value="next"> 

avec

if (request.getParameter("prev") != null) { 
    // Prev button pressed. 
} else if (request.getParameter("next") != null) { 
    // Next button pressed. 
} 

Cela dit, le texte de modèle appartient dans un fichier JSP, et non pas dans une classe Servlet. Je suggère de passer par those tutorials pour apprendre à programmer avec JSP/Servlet/MVC/JDBC dans le bon sens.