java - ForEach 循环迭代从外部类获取的 ArrayList

标签 java database loops jsp arraylist

我有两个类(class):SubjectSubjectsSubject存储包含在数据库中找到的数据的数据(id、名称和缩写)。 Subjects建立数据库连接并返回包含 Subject 的 ArrayList s。

主题.java:

public class Subject {

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

 //and some getters and setters

}

主题.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()我得到一个 ArrayList,其中包含多个 Subject s。我想显示所有这些 Subject <select> 中的 s 缩写-菜单。这可以通过 forEach 循环来完成,但我不确定如何做到这一点以及如何从 Subject 获取缩写.

任何帮助将不胜感激!

最佳答案

我希望这有帮助:

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>

关于java - ForEach 循环迭代从外部类获取的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41301361/

相关文章:

Java ActionListener 类找不到变量。

Python+sqlite : the LIKE query with wildcards

r - 如何使循环函数将其结果输出为R中的数据帧

loops - 如果列表为空,Ansible 如何跳过循环

java - 有没有一种简单的方法可以强制 String.split() 返回具有空字符串元素的数组?

java - Android:具有语音电平可视化的录音

Java Spring MVC View 渲染并将 ArrayList<CustomModel> 通过表单提交绑定(bind)回 Controller

php - 将 sql 表结果限制为仅选定的结果

sql - 优化 Oracle 查询

python - tkinter:如何按顺序将字符串列表添加到按钮上的文本?