2009-11-27 5 views

Répondre

0

Ajouter ces imprts à la page

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %> 
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql_rt" %> 

ensuite, ajoutez une requête SQL similaire à ce

<sql:query var="stateList" dataSource="your dataSource"> 
select state 
from statetable 
</sql:query> 

puis utilisez les balises pour créer la liste

<select name="stateNames" id="stateNames" style="width:160px;height:125px"> 
<option value="ALL" selected="selected">ALL States</option> 
    <c:forEach items="${stateList.rows}" var="row">    
    <option value="${row.state}">${row.state}</option> 
     </c:forEach> 
</select> 
+0

Le style n'est pas nécessaire. – ChadNC

+0

JSTL 1.0 est ancien. JSTL SQL taglib est uniquement destiné au prototypage. – BalusC

+0

Je serais d'accord s'il voulait faire quelque chose de plus complexe que de simplement remplir une liste déroulante. – ChadNC

1

Pour commencer, créez un javabean représentant un état avec du code et un nom (essentiellement les mêmes données que celles que vous avez dans la table DB). Créez ensuite une classe DAO qui effectue la tâche d'interaction de base de données. Créez ensuite une classe Servlet qui extrait la liste du DAO, la place dans la portée de la demande et la transmet au JSP. Enfin créer un fichier JSP qui affiche la liste en utilisant JSTLc:forEach.

exemple de base de la fève de l'État:

public class State { 
    private String code; 
    private String name; 
    // Add (generate) public getters and setters. 
} 

exemple de base de la classe DAO:

public List<State> list() { 
    List<State> states = new ArrayList<State>(); 
    // Do your JDBC thing here. 
    return states; 
} 

exemple de base de la classe Servlet:

protected void doGet(HttpServletRequest request, HttpServletResponse response) { 
    List<State> states = stateDAO.list(); 
    request.setAttribute("states", states); 
    request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response); 
} 

exemple de base de JSP fichier:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

<select name="state"> 
    <c:forEach items="${states}" var="state"> 
     <option value="${state.code}">${state.name}</option> 
    </c:forEach> 
</select> 

Mappez le servlet sur le url-pattern à votre goût dans web.xml et appelez cette servlet via votre navigateur.

Pour obtenir plus d'idées et d'idées autour du modèle DAO, vous pouvez également trouver this article utile.

Questions connexes