2014-04-25 72 views
0
<%@ page import="java.sql.*" %> 
<%@ page import="javax.sql.*" %> 
<%@ page import="java.util.*" %> 


     <% 
     Connection con =null; 
     PreparedStatement pstmt=null; 
     List<String> list=null; 
     ResultSet rs=null; 
     try { 
     Class.forName("com.mysql.jdbc.Driver"); 
     con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", "xyz", "abc"); 
     String strQuery = "SELECT batch_id,course_name FROM t_students_batch"; 
     pstmt = con.prepareStatement(strQuery); 
     rs = pstmt.executeQuery(); 
     list = new ArrayList<String>(); 

     while(rs.next()) { 
     list.add(rs.getString("batch_id")); 
     list.add(rs.getString("course_name")); 
      } 

     }catch(Exception e) { 
      System.out.println("Error:: "+e.getMessage()); 
     } 

     %> 

     <html> 
     <head> 
     <title>pay</title> 
     </head> 
     <body> 
     <form action="payment.jsp" method="get"> 

     BatchId ::<select name="batchid"> 
     <% 

     for (String temp : list) { 


      // how to i get this.. 
     out.println("<option>"+ temp +"</option>"); 


     } 


     %> 

     <input type="submit" value="continue" action="payment.jsp" /> 

     </select> 
     </form> 
     </body> 
     </html> 

输出:::显示选择列表

1 java 

2 jsp 

总列值显示这样

当我点击了 “1”,它的工作... 当我点击java或者jsp,它会显示一个空指针异常..

我想取java值为1的显示器,因为它是逻辑..

回答

0

试试这个。

<% 
    for (int i = 0; i < list.size(); i = i+2) { 
     out.println("<option value='"+list.get(i) +"'>"+ list.get(i+1) +"</option>"); 
    } 
%> 
+0

谢谢你sunny..it工作正常.. – user

+0

你能解释我你做了什么。 – user

+0

其实你是在列表中添加元素,如第一个是batch_id,第二个是course_name。所以当你做一个循环来获取batch_id时,我会添加i = i + 2。因为batch_id被存储在索引列表中,如1,3,5,7,.. – Sunny

0

缺失值attr,现在应该提交值。

<% 
    for (String temp : list) { 
     // how to i get this.. 
     out.println("<option value='"+temp +"'>"+ temp +"</option>"); 
    } 
%> 
+0

我得到了同样的结果。 – user