Atitit.atiDataStoreService   v2 新特性

1.1. V1  基础实现1

1.2. V2  增加了对  $uuid  $cur_uid参数的支持1

1.3. 增加了fld fun的支持1

2. fld fun1

2.1. Invoke   简化版全局函数txt2html1

2.2. ---------atiDataStoreService   .js1

2.3. dslUtil2

2.4. jAva3

3. code4

1.1. V1  基础实现

1.2. V2  增加了对  $uuid  $cur_uid参数的支持

1.3. 增加了fld fun的支持

2. fld fun

2.1. Invoke   简化版全局函数txt2html

cmsPhone4jobusImp/edit.html

<textarea id="copy_content" name="copy_content" style="width:100%; height: 300px;" fun="txt2html">工作日期

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2.2. ---------atiDataStoreService   .js

function merge(metaData,merge_callback_fun)

{

var mp=$("form").serialize();

var fldAppFun=dslUtil.getFldAppFun(  mp);

mp=mp+"&$method=com.attilax.urldsl.UrlDsl2SqlStoreService.exe&$callback=page_load_callback&$mod=userMod&$view_store_path=com/attilax/order&$op=insert&"+metaData+"&$fldAppFun="+encodeURIComponent(fldAppFun);

//alert("get post mp:"+mp);

HRE.method="post";

try{

if( arguments.length==1)

HRE.exe(mp,merge_callback);

else

HRE.exe(mp,merge_callback_fun);

}catch(e)

{

showErr(e);

}

}

2.3. dslUtil

var dslUtil={};

dslUtil.getFldAppFun=function(url)

{

var json={};

var keys=urlUtil.getKeys(url);

for(e in keys )

{

var key=keys[e];

key=decodeURIComponent(key);

varkey_for_jq=escapeJquery(key);

//alert(key_for_jq);

var fun=$("#"+key_for_jq).attr("fun");

if(fun)

json[key]=fun;

}

return  JSON.stringify(json);

};

2.4. jAva

*/

public class UrlDsl2SqlStoreService extends Dsl2sqlService {

public static Map<String, Function> scriptMapper = Maps.newLinkedHashMap();

{

scriptMapper.put("txt2html", (txt) -> {

return htmlx.txt2html(txt.toString());

});

}

DslUtil.appFldFun(m);

public class DslUtil {

public static void appFldFun(Map m) {

if(m.get("$fldAppFun" )==null || m.get("$fldAppFun" ).toString().trim().length()==0)

return;

String json_str=(String) m.get("$fldAppFun");

Map fldFunMap=AtiJson.fromJson(json_str);

Set<String> st = fldFunMap.keySet();

for (String k : st) {

String script_tag=(String) fldFunMap.get(k);

Function fun=UrlDsl2SqlStoreService.scriptMapper.get(script_tag);

Object v=fun.apply(m.get(k));

m.put(k, v);

}

}

}

3.  code

package com.attilax.urldsl;

import java.util.HashMap;

import java.util.Map;

import java.util.Set;

import java.util.function.Function;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang3.StringUtils;

import com.attilax.anno.Inj;

import com.attilax.html.htmlx;

import com.attilax.io.filex;

import com.attilax.ioc.IocXq214;

import com.attilax.lang.Global;

import com.attilax.lang.MapX;

import com.attilax.net.requestImp;

import com.attilax.sql.Dsl2sqlService;

import com.attilax.sql.SqlService;

import com.attilax.store.OrmStoreService;

import com.attilax.token.TokenService;

import com.attilax.user.NotLoginEx;

import com.attilax.web.ReqX;

import com.google.common.collect.Maps;

import com.google.inject.Inject;

/**

* q317 com.attilax.urldsl.UrlDsl2SqlStoreService

*

* @author Administrator

*

*/

public class UrlDsl2SqlStoreService extends Dsl2sqlService {

public static Map<String, Function> scriptMapper = Maps.newLinkedHashMap();

{

scriptMapper.put("txt2html", (txt) -> {

return htmlx.txt2html(txt.toString());

});

}

@Inject

SqlService sqlSrv;

@Inject

Dsl2sqlService d2sSrv;

@Inject

TokenService tkSrv;

public static void main(String[] args) {

requestImp m = new requestImp();

m.put("$tb", "wxb_good_copy");

// m.put("$tabletype", "view");

// m.put("$view_store_path","com/attilax/order");

m.put("$op", "i");

m.put("copy_title", "copy_title_2005");

Global.req.set(m);

System.setProperty("apptype", "jobus");

// OrmStoreService ormSvr = IocXq214.getBean(OrmStoreService.class);

UrlDsl2SqlStoreService srv = IocXq214

.getBean(UrlDsl2SqlStoreService.class);

// Map m=new HashMap();

System.out.println(srv.exe());

System.out.println("--f");

}

public Object exe() {

HttpServletRequest req = Global.req.get();

tkSrv.setModule(req.getParameter("$utype") + "Mod");

Map m = ReqX.toMap(req);

if (m.get("$table") == null)

m.put("$table", m.get("$tb"));

if (m.get("$op").equals("i"))

m.put("$op", "insert");

Set<String> st = m.keySet();

for (String k : st) {

if (m.get(k).equals("$cur_uid")) {

String getuid = tkSrv.getuid(req);

if (StringUtils.isEmpty(getuid))

throw new NotLoginEx("NotLoginEx");

m.put(k, getuid);

}

if(m.get(k).toString().equals("$uuid"))

{

m.put(k,filex.getUUidName());

}

}

DslUtil.appFldFun(m);

String sql = d2sSrv.dsl2sql(m);

if (StringUtils.isEmpty(sql))

throw new RuntimeException(

" cant convert sql str rzt is null or empty");

return sqlSrv.exe(sql);

}

}

Atitit.atiDataStoreService   v2 新特性相关推荐

  1. Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结

    Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结 1. defer关键字1 2. try!形式存在的"不失败"机制3 3. Guard 4 4 ...

  2. Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结

    Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结 1.1. C# 1.0-纯粹的面向对象 1.2. C# 2.0-泛型编程新概念 1.3. ...

  3. ComponentOne Ultimate 2012 v2 新特性

    ComponentOne Ultimate 2012 v2新特性? 随着ComponentOne Ultimate 2012 v2 的发布, 一款优秀的控件套包垂手可得.ComponentOne Ul ...

  4. Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39

    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39 V8   重构iocutilV4,use def iocFact...jettyUtil V ...

  5. Atitit.js模块化 atiImport 的新特性javascript import

    Atitit.js模块化 atiImport 的新特性javascript import 1. 常见的js import规范amd ,cmd ,umd1 1.1. Require更多流行3 2. at ...

  6. Atitit.android  jsbridge v1新特性

    Atitit.android  jsbridge v1新特性 1. Java代码调用js并传参其实是通过WebView的loadUrl方法去调用的.只是参数url的写法不一样而已1 2. 三.JAVA ...

  7. Atitit.atiJsBridge 新特性v7q329

    Atitit.atiJsBridge 新特性v7q329 atiJsBridge 未来计划 Postdata  图像上传的支持 Simp param计划 p1 p2 p3 p4 $method 的si ...

  8. atitit.jQuery Validate验证框架详解与ati Validate 设计新特性

    atitit.jQuery Validate验证框架详解与ati Validate 设计新特性 1. AtiValidate的目标1 2. 默的认校验规则1 2.1. 使用方式 1.metadata用 ...

  9. atitit.Oracle 9 10 11 12新特性attilax总结

    atitit.Oracle 9  10 11  12新特性 1. ORACLE 11G新特性 1 1.1. oracle11G新特性 1 1.2. 审计 1 1.3. 1.   审计简介 1 1.4. ...

  10. atitit.atiOrmStoreService 框架的原理与设计 part1  概述与新特性

    atitit.atiOrmStoreService 框架的原理与设计 part1  概述与新特性 1. 新特性如下 支持生成sql在无数据库连接的情况下 2. Orm设计 主要的俩个以来service ...

最新文章

  1. Winform判断一个窗口是否以模态化方式打开
  2. VC6.0 预编译(转)
  3. JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
  4. Java 程序优化:字符串操作、基本运算方法等优化策略
  5. Tomcat打包时多项目共享jar和精确指定jar版本
  6. window server 安装与卸载
  7. lambda语法_Java Lambda语法替代
  8. logback实现日志按天和大小切分
  9. 教你在Zabbix环境下快速升级nginx版本!
  10. 常用数字集成电路引脚图
  11. javascript练习案例--消失的星星
  12. Vue中 引入外部字体并使用
  13. Servlet是什么?有什么用?
  14. 电视dns服务器修复,电信电视dns遭到劫持的解决方法分享
  15. 支付宝对账单和微信对账单下载保存数据库
  16. jle汇编_X86汇编指令
  17. 超低频测试信号产生电路软件流程图,一种0_20Hz超低频信号发生器的设计与实现...
  18. tengxunyun init容器安装skywalking 挺NB的
  19. c语言输出行末不得有多余空格,2019年春季学期第四周作业
  20. 判断输入的手机号码格式是否正确(用Java实现)

热门文章

  1. python转换函数使用_Python基础学习之时间转换函数用法详解
  2. 指针的那些事-----初窥指针的强制转换
  3. Linux下TTY与PTY的区别
  4. 金融壹账通加马美国研究院“壹账通记忆增强网络”获对话系统学术竞赛佳绩...
  5. 扩展的几个应用 发布网络YUM源 vim编辑技巧 源码编译安装 systemctl控制
  6. Java源码分析之CountDownLatch
  7. MySQL Left Join,Right Join
  8. 十个JDBC的最佳实践
  9. ISAKMP包数据属性格式
  10. 树莓派raspberrypi系统安装docker以及编译nginx和php镜像