java如何实现二级树形菜单动态显示。要求加载页面时显示一级,点击一级菜单再去数据库查找出二级菜单

java如何实现二级树形菜单动态显示。要求加载页面时显示一级,点击一级菜单再去数据库查找出二级菜单,第1张

用json格式,异步请求,当你点击一级菜单的时候,js触发,通过ajax异步把相关参数传到后台,查询出来的数据,然后封装成json格式数据返回,js拿到数据后,通过js把数据设置到页面相应的地方!

看需求,如果只需要区分三种角色的话一个表就够了,加个识别字段

如果角色有特殊的用处,比如相应的角色可以后台设置角色能 *** 作的权限,比如看那些页面之类的,就两个表,用户表关联角色id,角色表里放相应的角色信息

如果不是所有人都有角色的话,需要第三个表,用户_角色关联表

一般情况下都是两个表

import java.awt.*

import java.awt.event.*

public class DengLuJieMian extends Frame implements ActionListener

{

Label username=new Label("用户名:")//使用文本创建一个用户名标签

TextField t1=new TextField()//创建一个文本框对象

Label password=new Label("密码:")//创建一个密码标签

TextField t2=new TextField()

Button b1=new Button("登陆")//创建登陆按钮

Button b2=new Button("取消")//创建取消按钮

public DengLuJieMian()

{

this.setTitle("学生信息管理系统")//设置窗口标题

this.setLayout(null)//设置窗口布局管理器

username.setBounds(50,40,60,20)//设置姓名标签的初始位置

this.add(username)// 将姓名标签组件添加到容器

t1.setBounds(120,40,80,20)// 设置文本框的初始位置

this.add(t1)// 将文本框组件添加到容器

password.setBounds(50,100,60,20)//密码标签的初始位置

this.add(password)//将密码标签组件添加到容器

t2.setBounds(120,100,80,20)//设置密码标签的初始位置

this.add(t2)//将密码标签组件添加到容器

b1.setBounds(50,150,60,20)//设置登陆按钮的初始位置

this.add(b1)//将登陆按钮组件添加到容器

b2.setBounds(120,150,60,20)//设置取消按钮的初始位置

this.add(b2)// 将取消按钮组件添加到容器

b1.addActionListener(this)//给登陆按钮添加监听器

b2.addActionListener(this)// 给取消按钮添加监听器

this.setVisible(true)//设置窗口的可见性

this.setSize(300,200)//设置窗口的大小

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0)

}

})//通过内部类重写关闭窗体的方法

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==b1)//处理登陆事件

{

String name=t1.getText()

String pass=t2.getText()

if(name!=null&&pass.equals("000123"))//判断语句

{

new StudentJieMian()

}

}

}

public static void main(String args[])//主函数

{

new DengLuJieMian()

}

}

以下方法实现了学生界面设计

import java.awt.*

import java.awt.event.*

class StudentJieMian extends Frame implements ActionListener

{

MenuBar m=new MenuBar()//创建菜单栏

Menu m1=new Menu("信息")//创建菜单“信息”

MenuItem m11=new MenuItem("插入")//创建“插入”的菜单项

MenuItem m12=new MenuItem("查询")

Menu m2=new Menu("成绩")//创建菜单“成绩”

MenuItem m21=new MenuItem("查询")

public StudentJieMian()

{

this.setTitle("学生界面")//设置窗口标题

this.setLayout(new CardLayout())//设置窗口布局管理器

this.setMenuBar(m)//将菜单栏组件添加到容器

m.add(m1)//将信息菜单放入菜单栏

m.add(m2)

m1.add(m11)//将“插入”菜单项添加到“信息”菜单

m1.add(m12)//将“查询”菜单项添加到“信息”菜单

m2.add(m21)//将“查询”菜单项添加到“成绩”菜单

m11.addActionListener(this)//给“插入”菜单项添加监听器

m12.addActionListener(this)//给“查询”菜单项添加监听器

m21.addActionListener(this)//给“查询”菜单项添加监听器

this.setVisible(true)//设置窗口的可见性

this.setSize(300,200)//设置窗口的大小

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0)//关闭窗口

}

})

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==m11) //处理“添加信息”事件

{

new AddStudent()

}

if(e.getSource()==m12) //处理“查询信息”事件

{

new SelectStudent()

}

if(e.getSource()==m21) //处理“查询成绩”事件

{

new ChengJiStudent()

}

}

public static void main(String args[])

{new StudentJieMian() //创建一个对象 }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10709313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存