Em có 1 trang jsp đọc database từ mysql như sau:
<%@page import="mypack.Menu"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.Vector"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="com.mysql.jdbc.Connection"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="skeleton/skeleton.css" />
<script src="skeleton/stuHover.js" type="text/javascript"></script>
<title>JSP Page</title>
</head>
<body>
<%
try {
String _URL = "jdbc:mysql://localhost/menu";
String _USER = "root";
String _PASS = "password";
java.sql.Connection connection = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(_URL, _USER, _PASS);
/////// code menu here
ArrayList<Menu> mnLV1 = new ArrayList<Menu>();
ArrayList<Menu> mnLV2 = new ArrayList<Menu>();
ArrayList<Menu> mnLV3 = new ArrayList<Menu>();
ArrayList<Menu> mnLV4 = new ArrayList<Menu>();
ResultSet rs = null;
PreparedStatement pstmt = null;
String ds = "";
ds+= "<ul id=\"nav\">";
try {
pstmt = connection.prepareStatement("select * from tmenu");
rs = pstmt.executeQuery();
while(rs.next()) {
int lvID = rs.getInt("levelID");
if(lvID == 1)
{
mnLV1.add(new Menu(rs.getInt("itemID"),rs.getString("itemText"),
rs.getString("url"),rs.getInt("levelID"),rs.getInt("parentID")));
}
else if (lvID == 2)
{
mnLV2.add(new Menu(rs.getInt("itemID"),rs.getString("itemText"),
rs.getString("url"),rs.getInt("levelID"),rs.getInt("parentID")));
}
else if (lvID == 3)
{
mnLV3.add(new Menu(rs.getInt("itemID"),rs.getString("itemText"),
rs.getString("url"),rs.getInt("levelID"),rs.getInt("parentID")));
}
else if (lvID == 4)
{
mnLV4.add(new Menu(rs.getInt("itemID"),rs.getString("itemText"),
rs.getString("url"),rs.getInt("levelID"),rs.getInt("parentID")));
}
//if(lvID == 1)
//{
//ds += "<li>";
//ds += "<a href=\""+rs.getString("url")+"\">"+rs.getString("itemText")
// + " » </a>";
// += "</li>";
//}
}
}
catch(Exception ex){
ex.printStackTrace();
}
ds += "</ul>";
out.println(ds);
//////
}
catch(Exception ex){
out.println("Unable to connect to database"+ex);
}
%>
</body>
</html>
còn đây là class object Menu
package mypack;
public class Menu {
int itemID,parentID,levelID;
String itemText = "", url = "";
public Menu(int itemID, String itemText, String url, int levelID, int parentID)
{
this.itemID = itemID;
this.itemText = itemText;
this.url = url;
this.levelID = levelID;
this.parentID = parentID;
}
}
Mục đích của em là đọc database ghi lại vào 4 arraylist ( mỗi arraylist lưu trữ tùy vào levelID của menu và submenu của nó
Bây giờ làm sao để đọc được những cái đó làm việc theo mảng được nhỉ? Em xem qua các phương thức thì có get(int index) em thử thì nó ra 1 đống loằng ngoằng
Cảm ơn các bác! Có gì các bác cứ đặt câu hỏi em nói ý tưởng của em . Thanks mọi người!