jQuery MiniUI

标题: 权限管控问题 [打印本页]

作者: LEO    时间: 2012-8-13 15:18:23     标题: 权限管控问题

outlookmenu.txt
这里的目录结构都写死了。怎么权限管理呢。

作者: niko    时间: 2012-8-13 15:24:11

url指向outlookmenu.aspx,动态生成JSON就可以了。
txt是示例的演示需要。
作者: LEO    时间: 2012-8-13 15:40:38

有没有例子发过来看一下。要看到效果
作者: factory    时间: 2012-8-13 17:04:15

LEO 发表于 2012-8-13 15:40
有没有例子发过来看一下。要看到效果

http://miniui.com/demo/index.html#src=datagrid/pager.html
这是表格的分页,数据是后台动态生成的,树的话跟这个一样的
作者: LEO    时间: 2012-8-15 09:06:34

按照你的要求做了,但是动态树都出不来
作者: LEO    时间: 2012-8-15 09:07:08

public void SearchEmployees(HttpServletRequest request, HttpServletResponse response) throws Exception
{                
    //查询条件
  //  String key = request.getParameter("key");
    //分页
   // int pageIndex = Integer.parseInt(request.getParameter("pageIndex"));
   // int pageSize = Integer.parseInt(request.getParameter("pageSize"));        
    //字段排序
    //String sortField = request.getParameter("sortField");
    //String sortOrder = request.getParameter("sortOrder");
       
   //HashMap result = new Test.TestDB().SearchEmployees();
      String sortField = "user";
    String sortOrder = "用户管理";
                String jsonstr = "[";  
              jsonstr=jsonstr+  
                              "{\n" +  
                              "    \"id\":"+sortField+",\n" +   
                             "    \"text\":\"<a href='javaScript:void(0)' target='mainFrame'>"+sortOrder+"</a>\",\n" +              
                              "    \"state\":\"closed\"\n" +   
                              "  },";  
               int end=jsonstr.length()-1;//去掉最后一个逗号   
              String json1=jsonstr.substring(0,end);  
              
         json1=json1+"]";  
      
    String json = PluSoft.Utils.JSON.Encode(json1);
    response.getWriter().write(json);
}

作者: niko    时间: 2012-8-15 09:12:19

你做的太复杂了。
你参考下AjaxService.jsp,我们是怎么生成JSON的。
步骤是:
1)生成JAVA对象
2)使用PluSoft.Utils.JSON一行代码将JAVA对象转换成JSON字符串。
而不是像你这样硬拼接JSON,效率太低下,而且容易出错。

作者: LEO    时间: 2012-8-15 09:23:48

我试过了你说的方法,树没有出来。所以才硬拼接。拼接也出不来。帮我们解决这个问题,我们会和你们合作。
作者: LEO    时间: 2012-8-15 09:44:29

有解决方案吗
作者: niko    时间: 2012-8-15 09:56:33

我给你一段伪代码:
public void GetTree(HttpServletRequest request, HttpServletResponse response) throws Exception
{         
    ArrayList list =  new Test.TestDB().getTree(); //返回一个ArrayList结构的列表数据
    String json = PluSoft.Utils.JSON.Encode(list );
    response.getWriter().write(json);
}

这样就能返回JSON数据结构:
  1. [
  2.     {id: "base", text: "Base", expanded: false},   
  3.     {id: "ajax", text: "Ajax", pid: "base"},
  4.     {id: "json", text: "JSON", pid: "base"},
  5.     ......
  6. ]
复制代码
最后,在创建outlooktree的时候,你指定下idField/parentField就可以了。


作者: LEO    时间: 2012-8-15 10:12:12

niko 发表于 2012-8-15 09:56
我给你一段伪代码:
public void GetTree(HttpServletRequest request, HttpServletResponse response) thr ...

new Test.TestDB().getTree(); 在TestDB中getTree()方法怎么取ArrayList值呢。是不是要读取.txt文件
作者: LEO    时间: 2012-8-15 10:16:12

niko 发表于 2012-8-15 09:56
我给你一段伪代码:
public void GetTree(HttpServletRequest request, HttpServletResponse response) thr ...

getTree()方法中怎么写呢。再麻烦一下。
作者: LEO    时间: 2012-8-15 10:44:19

niko 发表于 2012-8-15 09:56
我给你一段伪代码:
public void GetTree(HttpServletRequest request, HttpServletResponse response) thr ...

在没,可以更细点吗?是不是要定好的TXT文件呢,getTree()方法里面怎么写.很有兴趣
作者: factory    时间: 2012-8-15 10:53:51

LEO 发表于 2012-8-15 10:44
在没,可以更细点吗?是不是要定好的TXT文件呢,getTree()方法里面怎么写.很有兴趣 ...

从数据库读取数据,然后根据权限判断,组织成一个ArrayList数据,然后返回
作者: LEO    时间: 2012-8-15 11:33:33

factory 发表于 2012-8-15 10:53
从数据库读取数据,然后根据权限判断,组织成一个ArrayList数据,然后返回

这个组织成的ArrayList数据格式是怎样的呢。我就在格式上出问题了。
作者: niko    时间: 2012-8-15 11:42:12

首先,你不需要自己拼接JSON字符串。
其次,ArrayList里面只需要放实体类就可以了,比如HashMap,或你自定义的类。
String json = PluSoft.Utils.JSON.Encode(list );
会把一个JAVA对象,一下子自动生成JSON。
作者: LEO    时间: 2012-8-15 11:58:59

niko 发表于 2012-8-15 11:42
首先,你不需要自己拼接JSON字符串。
其次,ArrayList里面只需要放实体类就可以了,比如HashMap,或你自定义 ...

  例如: HashMap result = new HashMap();
        result.put("id", data);
        result.put("text", "用户管理");
       esult.put("iconCls", "icon-add");
       result.put("pid", data);
....是这样吗? 如果不是这样的话,麻烦老师发个例子给我看看
作者: niko    时间: 2012-8-15 12:46:50

你数据库有一个表,存放树的数据把。
进行数据库操作后,查询出一个列表没有?
直接返回用来JSON处理,就可以了。
作者: LEO    时间: 2012-8-15 15:23:34

本帖最后由 LEO 于 2012-8-15 16:05 编辑
niko 发表于 2012-8-15 12:46
你数据库有一个表,存放树的数据把。
进行数据库操作后,查询出一个列表没有?
直接返回用来JSON处理,就可 ...


   HashMap result = new HashMap();                                                
                try {
                        conn = BA_TOOLS.getInstance().getConnection("JappsDS01");
                        Statement stmt = conn.createStatement();
                        ResultSet rs = stmt.executeQuery("SELECT * FROM SPFS.TREESTUCT where CHID_ID='user'");
                        while (rs.next()) {
                        result.put("id:", rs.getString("CHID_ID"));
                        result.put("text:", rs.getString("TEXT_NAME"));
                        }
                        rs.close();
                        stmt.close();
                            String json = PluSoft.Utils.JSON.Encode(result);
                        response.getWriter().println(result);
                } catch (Exception e) {
                        loger.error(e);
                }
页面上还是没有数据,怎么解决呢。
作者: LEO    时间: 2012-8-15 16:05:57

niko 发表于 2012-8-15 12:46
你数据库有一个表,存放树的数据把。
进行数据库操作后,查询出一个列表没有?
直接返回用来JSON处理,就可 ...

HashMap result = new HashMap();                                                
                try {
                        conn = BA_TOOLS.getInstance().getConnection("JappsDS01");
                        Statement stmt = conn.createStatement();
                        ResultSet rs = stmt.executeQuery("SELECT * FROM SPFS.TREESTUCT where CHID_ID='user'");
                        while (rs.next()) {
                        result.put("id:", rs.getString("CHID_ID"));
                        result.put("text:", rs.getString("TEXT_NAME"));
                        }
                        rs.close();
                        stmt.close();
                            String json = PluSoft.Utils.JSON.Encode(result);
                        response.getWriter().println(result);
                } catch (Exception e) {
                        loger.error(e);
                }
页面上还是没有数据,怎么解决呢。
作者: niko    时间: 2012-8-15 16:42:28

你现在都得到ResultSet了,把它简单转换成ArrayList就好了啊。

作者: niko    时间: 2012-8-15 16:46:55

给你马上做个服务端操作数据库返回树形数据的示例把~~~
稍等~~~
作者: LEO    时间: 2012-8-15 16:50:18

niko 发表于 2012-8-15 16:46
给你马上做个服务端操作数据库返回树形数据的示例把~~~
稍等~~~

好的。十分感谢
作者: niko    时间: 2012-8-15 17:04:38

请参考:http://miniui.com/demo/#src=tree/loadtree.html

重新下载更新下,参考demo/data/TreeService.jsp里面的LoadTree方法。


作者: LEO    时间: 2012-8-15 17:13:36

niko 发表于 2012-8-15 17:04
请参考:http://miniui.com/demo/#src=tree/loadtree.html

重新下载更新下,参考demo/data/TreeService.js ...

下载这个版本jQuery MiniUI ( for Java Eclipse) v2.1 2012-08-10 吗?
作者: niko    时间: 2012-8-15 18:25:30

你下载看下




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2