สอบถามเกี่ยวกับ JSP + Java with MySQL ค่ะ

รบกวนขอคำแนะนำหน่อยค่ะ
คือ ตอนนี้ใช้ class ที่แนบมา ดึงข้อมูลขึ้นมาแสดง เป็น Tree

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class MyClass {
    private static Connection conn;
    private static PreparedStatement ps;
    private static ResultSet rsRoot, rsParent, rsChild;
    private static String sql;

    public static void main(String args[]){
        //arraylist to fill with the whole structure, fill it by yourself =)))
        ArrayList<Object> menuArray = new ArrayList<Object>ร้องไห้);
        
        try{
            conn = MySQLConnector.connect2db(); //connecting
            sql = "SELECT id_root,tx_root FROM menu_root"; //getting all roots
            ps = conn.prepareStatement(sql);
            rsRoot = ps.executeQuery();
            while(rsRoot.next()){ //running through roots
                String[] root = new String[2];
                root[0] = rsRoot.getString(1);
                root[1] = rsRoot.getString(2);
                System.out.println(root[1]);
                
                //getting parents for each root
                sql = "SELECT id_parent,tx_parent FROM menu_parent WHERE id_root = ?";
                ps = conn.prepareStatement(sql);
                ps.setString(1,root[0]);
                rsParent = ps.executeQuery();
                while(rsParent.next()){ //running through parents
                    String[] parent = new String[2];
                    parent[0] = rsParent.getString(1);
                    parent[1] = rsParent.getString(2);
                    System.out.println("  "+parent[1]);
                    
                    //getting all children for each parent
                    sql = "SELECT id_child,tx_child FROM menu_child WHERE id_parent = ?";
                    ps = conn.prepareStatement(sql);
                    ps.setString(1,parent[0]);
                    rsChild = ps.executeQuery();
                    while(rsChild.next()){ //running through children
                        String[] child = new String[2];
                        child[0] = rsChild.getString(1);
                        child[1] = rsChild.getString(2);
                        System.out.println("    "+child[1]);
                    }
                }
            }
        }catch(SQLException e){
            e.printStackTrace(System.out);
        }finally{
            try{
                ps.close();
                rsRoot.close();
                rsParent.close();
                rsChild.close();
                if(!conn.isClosed()){conn.close();}
            }catch(SQLException e){e.printStackTrace(System.out);}
        }
    }
}

class MySQLConnector {
    private static Connection conn;
    private static String url = "jdbc:mysql://localhost/ztest_menu"; //path to my database
    private static String user = "dbuser";
    private static String pwd = "dbpassword";
    
    public static Connection connect2db(){
        try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection(url, user, pwd);
        }catch(Exception e){
            e.printStackTrace(System.out);
        }
        return conn;
    }
}  
//http://forums.codeguru.com/showthread.php?477415-RESOLVED-JSP-Treeview

แต่ที่นี้ RootID ประกอบไปด้วย ID หลายอัน
คือ ต้องการคลิก ปุ่มสินค้า ชนิด1 จากหน้า JSP ก็ให้แสดงเฉพาะข้อมูลที่เป็น Parent และ Child ที่อยู่ใน RootID 1

Output  ที่ต้องการ :

root1
  |__parent 1
             |____chilld1

แต่คลาสที่ออกมาจะเป็น
Output :

root1
  |__parent 1
             |____chilld1
root2
  |__parent 2
             |____chilld2
root3
  |__parent 3
             |____chilld3

จะมีวิธีรับ Parameter การกดปุ่มเลือก จากหน้า JSP มายัง Class Java
ไดยังไงดีคะ เพื่อสามารถ ทำให้หน้าเว็บแสดง Tree แค่เฉพาะ RootID 1
ดังตัวอย่างข้างต้น

ขอบคุณค่ะ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่