• OFD 文件离线预览--亲测有效

    ofd 文件打开 ofd 文件预览

    0
    733
    22.61MB
    2022-03-30
    5
  • C和C++ 开源库及示例代码.doc

    Boost 大概是最重要的第三方 C++ 库。其作者有很多是 C++ 标准委员会的成员。Boost 的很多子库后来都成为 C++ 的标准库。 它的名称源自“POrtable COmponents”,是一个基于 C++ 的开源库。 它的功能以网络通讯为主,同时也提供一些其它功能(比如:多线程、进程间通讯、数据库、XML、JSON......)

    0
    201
    1.32MB
    2020-05-18
    14
  • 流程编辑器.zip

    [removed] &lt;!-- var listenerFieldsEditCount = 0; jq(function(){ _listener_event_type=jq('#listenerEventType').combobox({ editable:false }); _task_listener_fields_dg=jq('#task-listeners-fields-list').datagrid({ //title:"Listener", //url:'${ctx}/wf/procdef/procdef!search.action',//加载表格数据的URL singleSelect:true, width:600, height:300, iconCls:'icon-edit', //fit:true, //idField:'id', //pagination:true, //pageSize:15, //pageNumber:1, //pageList:[10,15], rownumbers:true, //sortName:'id', //sortOrder:'asc', striped:true, toolbar:[{ text:'New', iconCls:'icon-add', handler:function(){ if(listenerFieldsEditCount>0){ jq.messager.alert&#40;"error","有可编辑的单元格,不能添加!",'error'&#41;; return; } jq('#task-listeners-fields-list').datagrid('appendRow',{ id:'', fieldName:'', type:'', value:'', action:'' }); var index = jq('#task-listeners-fields-list').datagrid('getRows').length-1; jq('#task-listeners-fields-list').datagrid('beginEdit', index); } }], onDblClickRow:function(rowIndex,rowData){ editListenerField(rowIndex); }, onBeforeEdit:function(index,row){ row.editing = true; jq(this).datagrid('refreshRow', index); listenerFieldsEditCount++; }, onAfterEdit:function(index,row){ row.editing = false; jq(this).datagrid('refreshRow', index); listenerFieldsEditCount--; }, onCancelEdit:function(index,row){ row.editing = false; jq(this).datagrid('refreshRow', index); listenerFieldsEditCount--; } }); jq('#fieldSaveBt').linkbutton({ iconCls:"icon-save" }); jq('#fieldCancelBt').linkbutton({ iconCls:"icon-cancel" }); jq("#listenerServiceClass").autocomplete(_process_def_provided_listeners, { width: 450, minChars: 0, max: 10, autoFill: true, mustMatch: false, matchContains: false, scrollHeight: 220, //multiple: true, //multipleSeparator: " ", scroll: true }); populateListenerProperties(); }); function changeListenerServiceType(obj){ if(obj.value=='javaClass'){ jq('#listenerServiceLabel').html('Service Class:'); jq('#listenerServiceClass').show(); jq('#listenerServiceExpression').hide(); }else if(obj.value=='expression'){ jq('#listenerServiceLabel').html('Expression:'); jq('#listenerServiceClass').hide(); jq('#listenerServiceExpression').show(); } } function listenerFieldsActionFormatter(value,rowData,rowIndex){ var id = rowIndex; var s='&lt;img onclick="saveListenerField('+id+')" src="../../image/ok.png" title="'+"确定"+'" style="cursor:hand;"/>'; var c='&lt;img onclick="cancelListenerField('+id+')" src="../../image/cancel.png" title="'+"取消"+'" style="cursor:hand;"/>'; var e='&lt;img onclick="editListenerField('+id+')" src="../../image/modify.png" title="'+"修改"+'" style="cursor:hand;"/>'; var d='&lt;img onclick="deleteListenerField('+id+')" src="../../image/delete.gif" title="'+"删除"+'" style="cursor:hand;"/>'; if(rowData.editing) return s; else return e+'&nbsp;'+d; } function cancelListenerField(id){ _task_listener_fields_dg.datagrid('cancelEdit', id); } function editListenerField(id){ _task_listener_fields_dg.datagrid('beginEdit', id); } function saveListenerField(id){ //alert&#40;id&#41;; _task_listener_fields_dg.datagrid('endEdit', id); //alert&#40;editcount&#41;; } function deleteListenerField(id){ _task_listener_fields_dg.datagrid('deleteRow',id); refreshAllListenerFields(); } function refreshAllListenerFields(){ var rs = _task_listener_fields_dg.datagrid('getRows'); for(var i=0;i<rs.length;i++){ var ri =_task_listener_fields_dg.datagrid('getRowIndex',rs[i]); _task_listener_fields_dg.datagrid('refreshRow',ri); } } function createNewListener(){ var newListener = new draw2d.UserTask.TaskListener(); return newListener; } function getExsitingListener(){ if(listenerId != "" && listenerId != null && listenerId!="null"&&listenerId;!="NULL"){ var listener = task.getTaskListener(listenerId); return listener; } } function getListenerFieldsGridChangeRows(){ if(listenerFieldsEditCount>0){ jq.messager.alert&#40;"error","",'error'&#41;; return null; } var insertRows = _task_listener_fields_dg.datagrid('getChanges','inserted'); var updateRows = _task_listener_fields_dg.datagrid('getChanges','updated'); var deleteRows = _task_listener_fields_dg.datagrid('getChanges','deleted'); var changesRows = { inserted : [], updated : [], deleted : [] }; if (insertRows.length>0) { for (var i=0;i<insertRows.length;i++) { changesRows.inserted.push(insertRows[i]); } } if (updateRows.length>0) { for (var k=0;k<updateRows.length;k++) { changesRows.updated.push(updateRows[k]); } } if (deleteRows.length>0) { for (var j=0;j<deleteRows.length;j++) { changesRows.deleted.push(deleteRows[j]); } } return changesRows; } function saveListenerConfig(){ if(listenerFieldsEditCount>0){ jq.messager.alert&#40;"error","请先保存可编辑的表格!",'error'&#41;; return; } if(listenerId != "" && listenerId != null && listenerId!="null"&&listenerId;!="NULL"){ var listener = getExsitingListener(); var r = updateExistingListener(listener); if(!r)return; }else{ var listener = createNewListener(); var r = insertNewListener(listener); if(!r)return; } _listener_win.window('close'); } function insertNewListener(listener){ listener.event=_listener_event_type.combobox('getValue'); jq('input[name="listenerServiceType"]').each(function(i){ if(this.checked){ listener.serviceType=this.value; return false; } }); listener.serviceClass=jq('#listenerServiceClass').val(); listener.serviceExpression=jq('#listenerServiceExpression').val(); var changesRows = getListenerFieldsGridChangeRows(); if(changesRows == null)return false; var insertRows = changesRows['inserted']; if (insertRows.length>0) { for (var i=0;i<insertRows.length;i++) { var field = new draw2d.Task.Listener.Field(); field.name=insertRows[i].fieldName; field.value=insertRows[i].value; field.type=insertRows[i].type; listener.fields.add(field); } } task.taskListeners.add(listener); loadTaskListeners(); return true; } function updateExistingListener(listener){ listener.event=_listener_event_type.combobox('getValue'); jq('input[name="listenerServiceType"]').each(function(i){ if(this.checked){ listener.serviceType=this.value; return false; } }); listener.serviceClass=jq('#listenerServiceClass').val(); listener.serviceExpression=jq('#listenerServiceExpression').val(); var changesRows = getListenerFieldsGridChangeRows(); if(changesRows == null)return false; var insertRows = changesRows['inserted']; var updateRows = changesRows['updated']; var deleteRows = changesRows['deleted']; if (insertRows.length>0) { for (var i=0;i<insertRows.length;i++) { var field = new draw2d.Task.Listener.Field(); field.name=insertRows[i].fieldName; field.value=insertRows[i].value; field.type=insertRows[i].type; listener.fields.add(field); } } if (updateRows.length>0) { for (var k=0;k<updateRows.length;k++) { var field = listener.getField(updateRows[k].id); field.name=updateRows[k].fieldName; field.value=updateRows[k].value; field.type=updateRows[k].type; } } if (deleteRows.length>0) { for (var j=0;j<deleteRows.length;j++) { listener.deleteField(deleteRows[j].id); } } loadTaskListeners(); return true; } function populateListenerProperties(){ if(listenerId != "" && listenerId != null && listenerId!="null"&&listenerId;!="NULL"){ var listener = task.getTaskListener(listenerId); _listener_event_type.combobox('setValue',listener.event); var serviceType = listener.serviceType; jq('input[name="listenerServiceType"]').each(function(i){ if(this.value==serviceType){ this.checked=true; changeListenerServiceType(this); if(this.value=='javaClass'){ jq('#listenerServiceClass').val(listener.serviceClass); }else if(this.value=='expression'){ jq('#listenerServiceExpression').val(listener.serviceExpression); } return false; } }); var fields = listener.fields; var _listener_fields_grid_data=[]; for(var i=0;i<fields.getSize();i++){ var field = { id:fields.get(i).id, fieldName:fields.get(i).name, type:fields.get(i).type, value:fields.get(i).value, action:'' }; _listener_fields_grid_data[i]=field; } _task_listener_fields_dg.datagrid('loadData',_listener_fields_grid_data); } } function closeTaskListenerWin(){ _listener_win.window('close'); } //--&gt; [removed] <table> <tr> <td align="right">Event:</td> <td> <select id="listenerEventType" name="listenerEventType"> <option value="create">Create</option> <option value="assignment">Assignment</option> <option value="complete">Complete</option> <option value="all">All</option> </select> </td> </tr> <tr> <td></td> <td align="left"> &lt;input type="radio" id="listenerServiceType" name="listenerServiceType" value="javaClass" checked="checked" Class &lt;input type="radio" id="listenerServiceType" name="listenerServiceType" value="expression" </td> </tr> <tr> <td id="listenerServiceLabel" align="right">Service Class:</td> <td> &lt;input type="text" id="listenerServiceClass" name="listenerServiceClass" size="80" value=""/&gt; &lt;input type="text" id="listenerServiceExpression" name="listenerServiceExpression" size="80" none;" value=""/&gt; </td> </tr> <tr> <td align="right">Fields:</td> <td> <table id="task-listeners-fields-list"> <thead> <tr> <th field="id" hidden="true"></th> <th field="fieldName" width="200" align="middle" sortable="false" editor="{ type:'validatebox', options:{ required:true, validType:'length[1,100]' }}">Field Name</th> <th field="type" width="100" align="middle" sortable="false" editor="{ type:'combobox', options:{ editable:false, data:[{id:'string',text:'String',selected:true},{id:'expression',text:'Expression'}], valueField:'id', textField:'text' }}">Type</th> <th field="value" width="200" align="middle" sortable="false" editor="{ type:'validatebox', options:{ validType:'length[1,100]' }}">Value</th> <th field="action" width="80" align="middle" formatter="listenerFieldsActionFormatter">Action</th> </tr> </thead> </table> </td> </tr> <tr> <td colspan="2" align="center"> <a href="##" id="fieldSaveBt" <a href="##" id="fieldCancelBt" </td> </tr> </table>

    0
    172
    4.45MB
    2019-10-22
    10
  • 系统分析师考纲.pdf

    系统分析员又称系统分析师,英文system analyst,简称SA。 是指具有从事计算机应用系统的分析和设计工作能力及业务水平,能指导系统设计师和高级程序员的工作的一族。在软件开发流程中主要从事需求分析、信息系统项目架构设计(包括概要设计和详细设计)、开发阶段的主要模块的规划、设计和测试,同时也涉及可行性分析的工作。系统分析师(SA)是负责设计与开发应用软件系统.使其正确的反应出有效的信息,协助企业经营者管理、营运公司的运作者。系统分析师是抽象模型的建立者,他们需要专业的conceptionmodel(概念模型)知识和基础编程技巧。富有经验的系统分析师往往是优秀技术专家和项目管理者的结合体,他们精通系统论和控制论,擅长将杂乱无章的复杂性问题整理调顺,并将其模块化,从而使项目的实施走向成功。杰出的系统分析师会利用编程技巧来辅助建立conceptionmodule。

    0
    0
    2.37MB
    2019-06-21
    9
  • Spring Framework 4 参考文档中文版.docx

    纯手工制作,spring4 中文文档 2. Spring Framework介绍 2.1 依赖注入和控制反转 2.2 模块 ... 2.3 使用场景

    1
    157
    552KB
    2019-06-10
    10
  • Spring Framework 4 参考文档中文版.docx

    纯手工制作,spring4 中文文档 2. Spring Framework介绍 2.1 依赖注入和控制反转 2.2 模块 ... 2.3 使用场景

    0
    96
    552KB
    2019-06-10
    10
  • Quartz+Job+Scheduling+Framework.zip

    Quartz+Job+Scheduling+Framework 详细介绍文档 页面清新可见

    0
    80
    1.16MB
    2019-06-05
    5
  • Mysql 5.1 中文手册

    这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问:dev.mysql.com。 原始参考手册为英文版,与英文版参考手册相比,本翻译版可能不是最新的。

    0
    182
    4.39MB
    2019-03-07
    12
  • 架构真经-互联网技术架构的设计原则

    规则一:避免过度设计 规则二:方案中包含拓展 规则三:三次简化方案(方案范围、方案设计、方案实施) 规则四:减少域名解析 规则五:减少页面目标 规则六:采用同构网络 规则七:X轴拓展 规则八:Y轴拆分 规则九:Z轴拆分 规则十:向外扩展 规则十一:用商品化系统 规则十二:托管方案拓展 规则十三:利用云

    0
    1
    78.65MB
    2018-07-21
    10
  • J2EE使用指南

    准备工作 8 第1章 总 括 9 一.分布式得多层应用程序 9 二.J2EE容器 11 三.打包J2EE组件 12 四.开发者角色 13 五.本书所用的软件 14 第2章 动手做一个EJB 17 一.准备工作 18 二.创建J2EE应用程序 19 三.创建企业Bean 19 四.创建J2EE应用程序客户端 22 五.创建Web客户端 25 六.设置企业Bean的JNDI名 27 七.部署J2EE应用程序 28 八.运行J2EE应用程序客户端 29 九.运行Web客户端 29 十.修改J2EE应用程序 30 十一。常见问题和解决方法 31 第3章 企业Bean 35 1,企业Bean概述 36 2,会话Bean 36 3,EntityBean 38 4,Message-Driven Bean 40 5.定义客户端访问接口 42 6,企业Bean的“内容” 45 7,企业Bean的命名约定 46 8,企业Bean的生存周期 46 第4章 有状态会话Bean示例 51 1.购物车会话Bean CartEJB 51 二 其他的企业Bean特性 58 第5章 BMP的例子 62 一.SavingsAccountEJB 62 二.用deploytool部署BMP实现的实体Bean 74 三.为BMP映射表间关系 74 四.BMP的主键 85 五.异常处理 88 第6章 CMP的例子 89 一 RosterApp应用概述 90 二 layerEJB代码分析 90 三.RosterApp配置说明 95 四 RosterApp中的方法调用 102 五 运行RosterApp应用程序 109 六 用deploytool工具部署CMP实现的实体Bean 110 七 CMP的主键 110 第7章 一个消息驱动Bean的例子 113 一.例子应用程序介绍 113 二.J2EE应用程序客户端 114 三.消息驱动Bean类 115 四.运行本例子 116 五.用deploytool部署消息驱动Bean 117 六.用deploytool配置JMS客户端 118 第8章 EJB查询语言 120 一.术语 120 二.简单语法 121 三.查询例子 121 四.全部语法 124 五.EJB QL的限制 137 第9章 网络客户端及组件 139 第11章 JSP技术 165 第12章 JSP页面中的JavaBean组件 178 第13章 在JSP页面中自定义标签 182 第14章 事务 202 一.什么是事务 202 二.容器管理事务 203 三.Bean管理事务 208 四.企业Bean事务摘要 211 五.事务超时 211 六.隔离级别 212 七.更新多个数据库 212 八.Web 组件事务 214 第15章 安全 215 一.纵览 215 二.安全角色 216 三.Web层安全 217 四.EJB层安全 219 五.应用程序客户端层安全 220 六.EIS(Enterprise Information System)层安全 221 七.传递安全身份 223 八.J2EE用户、域和组 224 九.安装服务器证书 225 第16章 资源连接 227 一.JNDI名和资源引用 227 二.数据库连接 230 三.邮件服务连接 232 四.URL资源连接 234 第17章 DUKE的银行应用程序 236

    0
    138
    3.52MB
    2018-06-25
    14
  • 持续创作

    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 创作能手

    授予每个自然周发布1篇到3篇原创IT博文的用户
  • 分享宗师

    成功上传21个资源即可获取
关注 私信
上传资源赚积分or赚钱