JavaWeb框架设计之菜单设计

     近来工作,要求自己搭建框架。从中遇到了这样一个诉求---动态菜单。

     这个诉求在Java Web框架设计中属于最普遍的需求。那么我们来探讨下。

     一般的Java Web框架的菜单层级都是为二级,那么在数据库设计时,就需要定义其父子关系。

    如:

   数据库设计此时已经成为了层级关系,但是如何让我们的Java代码输出呈现出层级关系呢?

   此时就需要实体类。实体类中包含自己的集合

   

public class TreeObject implements Serializable{
	
	private static final long serialVersionUID = 1L;
	
	private Integer id;  
    private Integer pid;
    private String parentName;
    private String type;  
    private String svalue;  
    private String name;  
    private String remark; 
    private String icon;
    private String englishName;
    private Integer sort; 
    private List<TreeObject> children = new ArrayList<TreeObject>();
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public Integer getPid() {
		return pid;
	}
	public void setPid(Integer pid) {
		this.pid = pid;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public String getSvalue() {
		return svalue;
	}
	public void setSvalue(String svalue) {
		this.svalue = svalue;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	public String getIcon() {
		return icon;
	}
	public void setIcon(String icon) {
		this.icon = icon;
	}
	public String getEnglishName() {
		return englishName;
	}
	public void setEnglishName(String englishName) {
		this.englishName = englishName;
	}
	public Integer getSort() {
		return sort;
	}
	public void setSort(Integer sort) {
		this.sort = sort;
	}
	public List<TreeObject> getChildren() {
		return children;
	}
	public void setChildren(List<TreeObject> children) {
		this.children = children;
	}
	public String getParentName() {
		return parentName;
	}
	public void setParentName(String parentName) {
		this.parentName = parentName;
	}
    那么就可以实现集合中包含集合。为了实现了这一点,我们需要借助算法---递归

     这里不在叙述。。。。递归

-----------------------------------

   这里提示一点:目前发现在使用Bootstrap前端框架在异步调用菜单发现第二级样式没有加载出来。所以采用同步。这里请求大神支持


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值