当前位置: 首页 > 工具软件 > qWikiOffice > 使用案例 >

qWikiOffice研究一点心得

司国源
2023-12-01

看Ext的Desktop例子很好看,也实现了一些小模块,看到加载模块时有些晕了,不懂PHP,.NET也是才入门,还好原来做过JAVA的东东

在网上找到了http://qianlei007.iteye.com大大的改版QO,看了半天才发现QO的模块加载原来就是动态向JSP页面中写入JS文件

在JAVA中是这样实现的:

主页面中有如下内容

<%@ taglib prefix="sctt" uri="/sctt-tags" %>

<sctt:test></sctt:test>

在对应的配置文件中找到:

<tag>
    <name>test</name>
    <tag-class>org.system.client.core.web.taglib.ExtAjaxWebTag</tag-class>
    <body-content>JSP</body-content>
    <description><![CDATA[Import EXT Support]]></description>
  </tag>

好了就是org.system.client.core.web.taglib.ExtAjaxWebTag这个类在干活

在类中找到:

htmlBuffer=service.getIndexTag(user, path, lineEnd);

再找service的实现,找到类public class UserServiceImpl implements IUserService

方法:

public StringBuffer getIndexTag(SysUser user,String path,String lineEnd)

该方法通过对用户权限的解析,在数据库中取出所有该用户有权访问的Modules的JS及CSS文件,同时生成EXT桌面的菜单、背景、桌面图标,一起加载到主页面上

QO的权限实现的比较大,用户、组、模块,同时为每个用户保存桌面的配置

小型应用中不需要这些,只需要加载桌面就可以了,采用用户角色来控制模块访问权限

正在做ASP.net的实现,先写到这里!

 类似资料: