如何在jsp中显示Mysql表中的数据

oknwwptz  于 2023-03-06  发布在  Mysql
关注(0)|答案(1)|浏览(187)

请,帮助!很多天我试图显示数据从Mysql数据。我试图显示数据的可能不同的方式。但没有成功。我连接到Mysql数据库。我可以提取它像数组列表使用${},但不能提取在一个需要的标签。
这是jsp文件:

<%@ page import="java.util.ArrayList" %>
<%@ page import="AdditionalLibraris.MysqlConnection" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title> -- login --</title>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/Login/login.css">
</head>
<body>
<%@ page import="java.util.ArrayList" %>
<%@ page import="AdditionalLibraris.MysqlConnection" %>
<% ArrayList<String> itStaff = MysqlConnection.itStaff(); %>
<%= itStaff%> <---- displays----------------------- 
<div class="container" id="container">
    <div class="main">
        <div class="logo">
           <h2>Logo</h2>
        </div>
        <div class="login_form">
            <div class="inputItem">
                <label for="op_name">Name</label>
                <select id="op_name">
                    <option>choose</option>
                    <c:forEach var="userName"  <----  not displays------------
                           items="${MysqlConnection.itStaff()}">
                    </c:forEach>
                </select>
            </div>
        </div>
    </div>
</div>
<script src="${pageContext.request.contextPath}/Login/login.js"></script>
</body>
</html>

这是MySQL连接器。

package AdditionalLibraris;

import java.sql.*;
import java.sql.SQLException;
import java.util.ArrayList;

public class MysqlConnection {
     public static Connection connection( String dbName) throws SQLException, ClassNotFoundException{
        Connection con = null;
        String dbUrl = "jdbc:mysql://127.0.0.1:3306/"+dbName+"?useSSL=false";
        String userName = "admin";
        String password = "admin";
        try{
            Class.forName("com.mysql.cj.jdbc.Driver").getDeclaredConstructor().newInstance();
            con = DriverManager.getConnection(dbUrl, userName, password);
        }catch (Exception e){
            Exception e1 = e;
        }
        return con;
    }

    public static ArrayList itStaff(){
        Statement pstms;
        ResultSet resultSet = null;
        ArrayList<String> arr = new ArrayList<>();
        String sqlrequest = "select it_username from it_persons";
        try {
            Connection con = MysqlConnection.connection("inventory_it_assets");
            System.out.println(con);
            pstms = con.createStatement();
            resultSet = pstms.executeQuery(sqlrequest);

            while(resultSet.next()){
                String name = resultSet.getString("it_username");
                arr.add(name);
            }
        } catch (Exception e) {
            System.out.println(e);
        }
        return arr;
    }
}

我做错了什么?或者我错过了什么...我刚开始学习JavaEE,可能还不知道什么。
先谢谢你了。问候。
我尝试在jsp中显示MySQL表。我尝试使用for循环和foreach循环...仍然看不到列表

q0qdq0h2

q0qdq0h21#

如果您确定数组正在正确地检索数据,则可以尝试使用其他方法来调用它的值。
正如你在这里所做的<%= itStaff%>检查我是如何使用<%%>标记来打开和关闭后端指令的。〈%

/**
 * Declaring variables
 */
ArrayList<String> itStaff = MysqlConnection.itStaff(); 

/**
 * Printing our combo.
 */
%>
<select id="" class="" required>
    <option value="">-- select a value --</option>
    <%
        for(int i = 0; i < itStaff.size(); i++){
    %>
            <option value="<%=isStaff.get(i)%>"><%=isStaff.get(i)%></option>
    <% 
        }
    %>
</select>

如果有帮助请告诉我。

相关问题