1

データベースから選択ボックスに入力する必要があります。データベースとの接続は成功し、データベースに取得および挿入できます。選択ボックスに入力するために次のコードを試しましたが、「イテレーターを型に解決できません」というエラーが表示されます。データベースから取得するためのJavaコードは、

 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>
4

3 に答える 3

1

import ステートメントによるエラーです。jsp にも Iterator をインポートする必要があります。デフォルトのパッケージは です。ただし、java.langここでは で利用可能な Iterator を使用していますjava.util.*。したがって、最初に java.util パッケージをインポートする必要があります。

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

そしてこれを使う

Iterator it = new listObject().getlist().iterator();
于 2013-03-16T06:15:43.697 に答える
0

jspコードに2つの間違った点があります

  • 1つ目:リストからイテレータに変換できません。そのはずIterator it = new listObject().getlist().iterator();

  • 2番目:whileループでは、it.next()ポインタの位置を次の位置に変更するために使用する必要があります

于 2013-03-16T06:19:29.710 に答える
0

問題は、jsp コードで作成しているイテレータに List を割り当てていることだと思います。それを見てください。

したがって、コードは次のようになります。

Iterator it = new listObject().getlist().iterator();
于 2013-03-16T06:13:19.077 に答える