2013-03-16 7 views
1

Мне нужно заполнить поле выбора из базы данных. Совместимость с базой данных является успешной, и я могу получить и вставить в базу данных. Я попробовал следующий код для заполнения окна выбора. Но он показывает ошибку «Итератор не может быть разрешен к типу ». Java код retreiving из базы данных,заполнить selectbox из mysqldatabase

package servicescheduler.pack; 
import java.text.*; 
import java.util.*; 
import java.sql.*; 

public class listObject 
{ 
    static Connection currentCon = null; 
String sql="select * from center_point_map where service_center='Radiology';"; 
public List getlist() 
{ 
    ArrayList<String> list=new ArrayList<String>(); 
    try 
    { 
     currentCon = ConnectionManager.getconnection(); 
    } 
    catch (Exception ex) 
    { 
     System.out.println(" An Exception has occurred! " + ex);  
    } 
    if(currentCon!=null) 
    { 
     System.out.println("You made it, take control your database now!"); 
     try 
     { 
      PreparedStatement prest = currentCon.prepareStatement(sql); 
      ResultSet rs = prest.executeQuery(); 
      while(rs.next()) { 
        list.add(rs.getString(1)); 
       } 
      System.out.println(list.get(0)); 
      prest.close(); 
      rs.close(); 
      return list; 

     } 
     catch (SQLException s) 
     { 
       System.out.println("SQL statement is not executed!"+s); 

     } 

     catch (Exception e) 
     { 
       e.printStackTrace(); 

     } 
     } 

     return list; 
    } 

} 

код JSP является

 <%@page import="servicescheduler.pack.listObject"%> 
     <%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<!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=UTF-8"> 
    <title>Insert title here</title> 
</head> 
<body> 
<select> 
<% 
Iterator it = new listObject().getlist(); 
while(it.hasNext()) { 
    out.write("<option value=\""+ it.getFieldA()+ "\">"+ it.getFieldB() +"\">"); 
} 
%> 
</select> 
</body> 
</html> 
+0

Я думаю, что вы можете получить лифт здесь http://stackoverflow.com/questions/8643096/JSP-Аякс-Заселите-выпадающий список на основе-на-выбранной стоимость – OmniPotens

ответ

1

Ошибки из-за импорт statements.You необходимо импортировать итератор в пакете JSP also.The по умолчанию является java.lang .О здесь мы используем итератор, который доступен в java.util.* , Итак, сначала вам нужно импортировать пакет java.util.

<%@page import="java.util.*"%> 

и использовать

Iterator it = new listObject().getlist().iterator(); 
0

Я думаю, что проблема в том, что вы назначаете список итератора, который вы создаете в вашем коде JSP. Посмотри на это.

Следовательно, код должен быть:

Iterator it = new listObject().getlist().iterator(); 
0

Есть два неправильные точки в коде JSP

  • Первое: не может конвертировать из списка в итератор. Он должен быть Iterator it = new listObject().getlist().iterator();

  • Второй: В то время цикла необходимо использовать it.next() изменить положение указателя на следующий

Смежные вопросы