About jishuang

该作者尚未填入任何详情
So far jishuang has created 559 blog entries.

.j中请求action如何获取返回数据

.j中请求action用的是com.justep.biz.client.ActionEngine中提供的invokeAction相关的API API中有一个String类型的accept参数,设置期望返回数据的格式,一般情况下设置为 json格式的:com.justep.biz.client.ActionUtils.JSON_CONTENT_TYPE xml格式的:com.justep.biz.client.ActionUtils.XML_CONTENT_TYPE invokeAction相关的API调用action返回的结果是com.justep.biz.client.ActionResult,下面代码中的ar就是定义的ActionResult类型的变量 如: ActionResult ar = ActionEngine.invokeAction(bytes, accept, contentType, bsessionID, language, null); ActionResult中提供的有getContent()API可以获取整个返回结果,因此获取返回数据可以使用这个API 当设置的accept为ActionUtils.JSON_CONTENT_TYPE是,获取返回数据如下: JSONObject content = (JSONObject)ar.getContent(); 当设置的accept为ActionUtils.XML_CONTENT_TYPE是,获取返回数据如下: Document arDocument = (Document)ar.getContent(); arDocument.asXML();

流转对话框如何给任务的扩展字段赋值

SA_Task中提供了以sESField、sEDField、sETField、sEIField、sEBField、sENField开头,关系类型为String、DateTime、Text、Integer、Blob、Decimal的一组扩展字段 可以根据自己需要跟扩展字段赋值把一些业务数据等存到SA_Task中 流转对话框中要给扩展字段赋值,需要自己扩展流转对话框 某个具体流程功能的流转对话框可以参考http://docs.wex5.com/bex5-process-question-list-10008/ 所有的功能都需要可以通过扩展空间的方式修改/UI2/system/service/process/dialog下的processDialog相关的.w和js文件 本例是在PC端流转对话框中添加了一个input框,把input框中的输入信息存储到sESField7中,修改的是processDialog.w和processDialog.m.js 1.在model的添加一个data,添加两个列,并设置data为自动新增 <div autoLoad="false" autoNew="true" component="$UI/system/components/justep/data/data" idColumn="rowid" xid="data1_3" xui:parent="model" xui:update-mode="insert"> <column name="rowid" type="String" xid="xid1_3"/> <column name="sESField07" type="String" xid="xid2_3"/> <rule xid="rule1_3"> <col name="rowid" xid="ruleCol1_3"> <defaultValue xid="default1_3"> <expr xid="default2_3">justep.UUID.createUUID()</expr> </defaultValue> </col> [...]

两个结构相同的概念,如何通过执行select后调用BizData.save方法操作数据库中记录

com.justep.system.data.BizData中提供的save方法可以通过传table和概念,把table中内容保存到概念对应的数据库表中 两个结果相同的概念,其中一个通过执行select返回table后可以修改关系语义信息,把table保存到另一个概念中 具体代码实现如下: //AP_Test1和AP_Test2结构相同,获取AP_Test1给AP_Test2赋值 public static void bizDataSave(){ String ksql = "select test1.* from AP_Test1 test1"; Table table1 = KSQL.select(ksql,null,"/appdemo/test/data",null); TableMetaData tableData = table1.getMetaData();//获取Table的定义元信息 //通过列名获取列定义信息,并设置设置列关联的语义信息为AP_Test2中的信息 tableData.getColumnMetaData("test1").setDefine("AP_Test2"); tableData.getColumnMetaData("version").setDefine("AP_Test2.version"); tableData.getColumnMetaData("fCode").setDefine("AP_Test2.fCode"); tableData.getColumnMetaData("fName").setDefine("AP_Test2.fName"); Iterator<Row> it = table1.iterator(); while [...]

list的onAfterRender事件中如何获取每行的html组件

list关联的data有多条记录时,list中的组件就会生成多个,简单通过xid获取就会获取到多个 在onAfterRender中可以获取到当前计算行的索引,可以通过索引获取当前行的组件 获取html组件可以用jquery的方式 如下在onAfterRender中获取list中的a标签: Model.prototype.mainListAfterRender = function(event){ var index = event.$object.index();//获取行索引 $("a[xid=a1]")[event.$object.index()];//获取a标签 };

如何禁用操作日志

操作日志的基本原理: 是以action为单位进行记录的, 及针对某个action可以设置其关闭或打开日志功能,打开日志功能就会向SA_Log中插入数据 平台默认记录的action日志(比如openActivityAction, closeActivityAction, loginAction, logoutAction等等)在/BIZ/system/logic/action/opm.action.m 和/BIZ/system/logic/action/system.action.m中设置的 可以根据项目需要自己在action定义中关闭日志功能(action的“启用日志”勾选去掉),并且重启tomcat。 组织机构相关的日志平台默认关闭的,在/BIZ/SA/OPM/log/log.config.m中配置的: <config name="opm.api.log.enabled" value="false" /> 如果操作日志有组织机构相关的日志确认是不是这个配置改为true了 另外:SA_Log这个表的数据可以定时清除的,对系统不会有什么影响

attachmentSimple删除文件时如何实现物理删除

attachmentSimple组件删除上传的文件时,默认只是把业务字段中存储的json传中的信息删除 ,而服务器上存储的文件并没有删除 如果要在删除的时候把服务器的上文件也删除需要通过.j或者BIZ层定义action的方法操作服务器 本例是用.j实现的,.j(名字是attachmentSimpleDelete.j)的代码具体如下: import java.io.File; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.IOUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.justep.ui.JustepConfig; public class AttachmentSimpleDelete extends com.justep.ui.impl.JProcessorImpl { protected void doGet(HttpServletRequest request, HttpServletResponse response) [...]

企业版如何配置数据源

企业版默认没有打开发工具studio,因此不能直接通过studio配置数据源,平台默认的数据源配置文件是apache-tomcat\conf\context.xml 简便的方法就是在开发版中配置数据源,然后把文件拷贝到企业版中 也可以直接手动到这个文件中配置(就是tomcat标准的数据源配置Resource节点) 或者运行平台版本中默认带的“配置初始化其它数据库.bat”批处理文件,需要注意的是这个只能配置doc、system和demo数据源名,如果应用设置了自己的数据源名还需到文件中手动配置 在执行这个批处理文件的时候如果不需要重新初始化数据库,请注意配置时选项的控制,默认是初始化的 当然还有简便的方法就是在开发版中配置数据源,然后把apache-tomcat\conf\context.xml文件拷贝到企业版中

orgDialogPC展开某组织时如何过滤其下级数据

orgDialogPC默认是数据是延迟加载的,就是指默认只会加载根节点数据,展开的时候才会加载下级数据 因此要过滤其数据可以在加载(刷新)前(onBeforeRefresh)事件中设置data的filter orgDialogPC是组件里面直接封装好的,要实现刷新前事件可以在orgDialogPC的onLoad事件中获取封装好的data,用on方法绑定事件 参考如下: Model.prototype.orgDialogPC1Load = function(event){ var orgDilaogPC = event.source;//获取orgDialog组件 var innerModel = orgDilaogPC.getInnerModel();//获取orgDialog组件内部model innerModel.comp("orgData").on("onBeforeRefresh",function(event){//获取内部data,并绑定onBeforeRefresh事件 if(event.source.getCurrentRowID() == 'FDC60398457C461DAB7AAE86FA8173D9')//判断是不是要过滤自己数据的组织行数据 innerModel.comp("orgData").setFilter("filter","sOrgKindID = 'psm'"); }); };