2016-12-23 45 views
0

了:SubjectSubjectsSubject存儲包含在數據庫中找到的數據(id,名稱和縮寫)的數據。 Subjects進行數據庫連接並返回包含Subject的ArrayList。foreach循環遍歷ArrayList的從我有兩個類外部類

Subject.java:

public class Subject { 

    public int id; 
    public String subjectName; 
    public String subjectAbbr; 

//and some getters and setters 

} 

Subjects.java:

public class Subjects { 

    public ArrayList getAllFromSubject() throws SQLException { 

     Database DB = new Database(); 

     String query = "SELECT * FROM `subject`;"; 
     //DB.exequteQuery returns a ResultSet with the data from the query. 
     ResultSet result = DB.executeQuery(query); 

     ArrayList<Subject> output = new ArrayList(); 

     while (result.next()) { 

      Subject subject = new Subject(); 

      subject.setId(result.getInt("id")); 
      subject.setSubjectName(result.getString("subjectname")); 
      subject.setSubjectAbbr(result.getString("subjectabbr")); 

      output.add(subject); 

     } 

     DB.closeExistingConnection(); 

     return output; 

    } 

} 

我已經得到了signup.jsp,包含一個下拉選擇菜單,我希望用戶能夠從發現縮略語選擇在數據庫中。所以我可以撥打Subjects.getAllFromSubject(),我得到一個包含Subject的數字的ArrayList。我想在<select>-菜單中顯示所有這些Subject的縮寫。這可以通過forEach循環完成,但我不知道如何做到這一點,以及如何從Subject獲取縮寫。

任何幫助將不勝感激!

+0

無關:要了解**不使用原始類型的泛型**閱讀。例如,對於你的方法來說,一個更好的返回類型將看起來像:'public List getAllFromSubject()'或者類似的東西。真的,這是**重要的**基礎知識;除非你明白這些事情,否則你最好避免與數據庫或其他高級主題交談。 – GhostCat

+0

你使用任何框架與你的jsp? –

+0

+ ChristosLoupasdakis我的jsp無非是用HTML和一些JavaScript –

回答

1

我希望這幫助:

的index.jsp

<%@page language="java" contentType="text/html" pageEncoding="UTF-8"%> 
<%@page import="jvanamerongen.example.Subjects"%> 
<%@page import="jvanamerongen.example.Subject"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    </head> 
    <body> 
     <% Subjects list = new Subjects(); %> 
     <select> 
      <% for(Subject s : list.getAllFromSubject()) { %> 
       <option value="<% out.print(s.getId()); %>"><% out.print(s.getSubjectAbbr()); %></option> 
      <%}%> 
     </select> 
    </body> 
</html> 
+0

一個文件,我會在一分鐘內嘗試這個更多,但現在你訪問'subject.id'直接,是否有可能只使用一個getter? –

+0

感謝您的努力,但不幸的是您的代碼似乎無法正常工作。我說行<%@頁面進口= 「業務。*」 %>包括兩個類,但沒有成功 –

+0

<%@頁面進口= 「business.Subjects」 %> <% 主題的obj =新主題() ; %> –