miniui Treegrid的简单实现

前台jsp:


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>



 PagerTree 树形分页表格
   
   






 

CellEdit 单元格编辑


    
    url="menu.do" showTreeIcon="true" 
    treeColumn="taskname" idField="uid" parentField="puid" resultAsTree="false"  
    allowResize="true" expandOnLoad="true"
    allowCellEdit="true" allowCellSelect="true"  frozenStartColumn="0" frozenEndColumn="1" >
   

       

       
任务名称
           
       

       
进度
           
       

                                 
   






实体类pojo(uid和puid为父子关系的属性,可自己定义,需要与前台的idField和parentField两个字段对应)

package com.iflytek.domain;

public class Menu1 {
private String uid;
private String name;
private String puid;
private String url;
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPuid() {
return puid;
}
public void setPuid(String puid) {
this.puid = puid;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
@Override
public String toString() {
return "Menu1 [uid=" + uid + ", name=" + name + ", puid=" + puid + ", url=" + url + "]";
}

}


后台servlet

package com.iflytek.controller.page;

import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.hibernate.Session;
import com.alibaba.fastjson.JSON;
import com.iflytek.domain.Menu;
import com.iflytek.domain.Menu1;
import com.iflytek.util.HibernateUtil;

import oracle.net.aso.f;

/**
 * Servlet implementation class MenuController
 */
@WebServlet("/menu.do")
public class MenuController extends HttpServlet {
private static final long serialVersionUID = 1L;


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher("/WEB-INF/jsp/menu.jsp").forward(request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("application/json;charset=utf-8");

List allmenu=new ArrayList<>();
List fmenu=new ArrayList<>();
Session session = HibernateUtil.getSessionFactory().openSession();
String sql="select m.menuid,m.mname,m.mpid,m.murl from t_menu m order by m.menuid asc";
List menus = session.createSQLQuery(sql).list();
for(int i=0;i Object[] b=(Object[])menus.get(i);
Menu1 menu=new Menu1();
BigDecimal a=(BigDecimal) b[0];
int id=a.intValue();
menu.setUid(String.valueOf(id));
menu.setName((String)b[1]);
menu.setUrl((String)b[3]);
if(Integer.parseInt((String)b[2])==0){
menu.setPuid(String.valueOf(-1));
fmenu.add(menu);
}else{
menu.setPuid((String)b[2]);
fmenu.add(menu);
}

}
List menu3=new ArrayList<>();
for(int i=0;i menu3.add(fmenu.get(i));
String id=fmenu.get(i).getUid();
for(int j=0;j if(allmenu.get(j).getPuid().equals(id)){
menu3.add(allmenu.get(j));
}
}
}

for(Menu1 m:menu3){
System.out.println(m);
}

response.getWriter().write(JSON.toJSONString(menu3,true));
}

}


由于以上的servlet在获得结果集的时候没有按照所有pid等于id的结果排序,所以显示的结果只会有两层,不会存在更多层父子孩子节点的关系。


数据库截图


miniui Treegrid的简单实现_第1张图片


最终效果图

miniui Treegrid的简单实现_第2张图片


你可能感兴趣的:(javaWEB)