AppFrameWork项目-杂乱总结

AppFrameWork工程总结报告

基础管理

   基础管理包含了配置管理和权限管理。

   两大模块。这两大模有是工程的数据基础模块。

   配置管理包含了系统的操作记录。权限管理包含了用户、组织、角色、

   权限的信息

   截图:

1.1权限管理

 

应用管理

AppAction 类

方法:String findApp() 

1.1.1获取基础数据列表

List<TApplication> tAppList = this.appService.findAppList(tApplication, loginUserName, roleTypeId, start, limit)

分页查找所有应用。

应用查找涉及到的是根据用户信息和应用类、用户表来查找用户所拥有的应用。

根据用户角色类型的不同使用不同的查询语句。

如果用户是管理员,采取直接TApplication类直接查找

如果一般用用户,根据用户信息表和TApplication应用类查找。

这两个地方都需要注意有效性。

 

在分页查找数据之后,查找分页后的总数据

 

int totalCount = this.appService.findAppCount(tApplication, loginUserName, roleTypeId);

注意在查找数据的时候使用降序的方法。这样有在获取总数据的时候直接使用

length = Integer.parseInt(list.get(0).toString());

方法就能获取总数据

这里注意使用的效率问题。

 

2.1.1 方法String saveApp() 包含新增、修改应用

保存

public String saveApp(TApplication application,TUser loginUser)

通过分别使用:应用编码、应用名称来分别查询两个名称是否在系统中重复存在。

保存应用需要通过依次保存应用类、组织类、角色类、用户信息类。

这里的执行流程是:

因为由用户或者管理员来添加。

这样这个管理员就存在了他所拥有的单独的应用管理。这个用户就对应的组织

和角色、用户信息类。

修改应用(停止应用使用):


 

 

 

   

组织管理

根据罢了组织的id获取组织模块同时要获取父类组织模块。

其次在一次通过Ext特定的方式组装数据(其实这里组装数据都跟

Servlet 发送的到前台的组装数据一样,只是格式有所不同)

 

   

   

 

 

Ext 技术总结:

1、常用技术:

1.1.1 获取id元素方式

  Ext.getCmp(id);

1.1.2 icon 图片元素

   baseCls:x-plain

1.1.3 xtype 有多少种

   xtype: label

1.1.4 c.sf有多少种

   Cls: key  密码输入框

   Cls:user 用户输入框

      Cls;folder  多使用于模块的转现。

 

 

 

1.1.5 提示信息方式

   Ext.MessageBox.INFO这个方式可以使用于icon=Ext.MessageBox.INFO

   Ext.MesageBox.show({

   Title:title,

   Msg:msg;

   Button:Ext.messageBox.OK;

   Icon:icon;

   Fn:fn

   

   });

   实例:

 

闭包:

闭包的作用:第一保持安全性

保持变量的独立性

比如:

function a(){

    var i=0;

    function b(){

    alert(++i);

    }

    return b;

}

var c = a();

c();

这样的话 b方法需要a执行的情况下才能执行。

官方说:“官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。

 

而上面的代码是:

这段代码有两个特点:

1、函数b嵌套在函数a内部;

2、函数a返回函数b

这样在执行完var c=a()后,变量c实际上是指向了函数b,再执行c()后就会弹出一个窗口显示i的值(第一次为1)。这段代码其实就创建了一个闭包,为什么?因为函数a外的变量c引用了函数a内的函数b,就是说:

当函数a的内部函数b被函数a外的一个变量引用的时候

 

 

垃圾回收机制:

function menuLink(url, menu_id, menu_name) {

var id = url + menu_id, _tab = Ext.getCmp('tabpanel');

if (!_tab.getComponent(id)) {

_tab.add({

id : id,

iconCls : 'tabs',

title : menu_name,

closable : true,

layout : 'fit',

border : false,

autoDestroy : true,

destroy : function() {

if (this.fireEvent("destroy", this) != false) {

this.el.remove();

_tab = null;

if (Ext.isIE) {

if (typeof window.CollectGarbage != "undefined") {

window.CollectGarbage();

/**这种垃圾回收只适用于ie**/

}

}

}

},

html : '<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src='

+ webPathDir + '/' + url + '></iframe>'

});

}

_tab.setActiveTab(id);

}

 

 

Requestreponset

Location.replace.(action路径绝对路径”);

 

 

 

SSH DAO 层中使用的Hibernate的方法

getHibernateTemplate

    getHiberateTemplae().find(queryString,new Object[]{activeFlag,code})

   这种方法是因为 在使用QHL中使用了

   比如:

   From 表名 b  where b.列名? And .b.列名 =

   From 表名 b  where b.列名:activeFlag and b.code:code

 

 

AppFramework项目引用出来的oralce 操作方法

select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual

"select to_char(sysdate,'YYYY-MM-DD') from dual";

这两句话是获取系统的时间 上面是24小时制 下面是12小时制

 

 


Struts2 配置文件

这里的框架是SSH +EXT+JSON而在这里的struts2 中的配置

Result type在使用InputStream返回到前台的时候

Type= stream

实例:

工程的夹包:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值