отображать итератор в jsp - PullRequest
0 голосов
/ 15 ноября 2010

У меня есть следующий код:

@Override  
public Iterator retrieve() throws SQLException {  
    List<PasalBean> pasalObject = new ArrayList<PasalBean>();  
    try {  
        Class.forName(dbDriver); 
        con = DriverManager.getConnection(url);  
        ps = con.createStatement();  
        rs = ps.executeQuery("select * from T_PASAL WHERE ID_PASAL = '" + id_pasal + "' ORDER BY ID_PASAL");  
        while (rs.next()) {  
            pasalObject.add(new  PasalBean(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4)));  
        }  
    }catch (Exception e) {  
        System.out.println("Error Data : " + e.getMessage());  
    }  
    return (Iterator) pasalObject;  
}

Как я могу отобразить его в JSP?

1 Ответ

1 голос
/ 15 ноября 2010

Во-первых, этот код не будет работать.Вы не можете разыграть List до Iterator.Сделайте так, чтобы он возвращал List.

. Затем, чтобы отобразить его в сервлете, вам нужно:

request.setAttribute("list", retrieve());
request.getRequestDispatcher("/path/to/jsp").forward();

А затем в JSP:

<c:forEach items="${list}" var="item">
   ${item.somePropertyOfTheBean}
</c:forEach>

Было бы хорошо поместить метод retrieve() в отдельный класс доступа к данным (DAO), а не непосредственно в сервлет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...