Atitit.atiDataStoreService v2 新特性
来源:互联网 发布:2017购物软件排行 编辑:程序博客网 时间:2024/06/05 16:42
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 新特性
- Atitit atiMail atiDns新特性 v2 q39
- Atitit. Toast alert loading js控件 atiToast v2新特性
- Atitit.android jsbridge v1新特性
- Atitit jquery 1.4--v1.11 v1.12 v2.0 3.0 的新特性
- Atitit.linux 内核 新特性 新功能
- Atitit. atiJavaExConverter4js 新的特性
- atitit.ntfs ext 文件系统新特性对比
- Atitit.wrmi web rmi框架新特性
- Atitit.http连接合并组件 ConnReducerV3 新特性
- Atitit .c#的未来新特性计划草案
- Atitit.eclipse 4.3 4.4 4.5 4.6新特性
- Atitit.eclipse 4.3 4.4 4.5 4.6新特性
- Atitit opencv3.0 3.1 3.2 新特性attilax总结
- Atitit.业务系统的新特性 开发平台 新特性的来源总结
- atitit.groovy 语法特性
- Atitit python3.0 3.3 3.5 3.6 新特性 Python2.7新特性1Python 3_x 新特性1python3.4新特性1python3.5新特性1值得关注的新特性1Pyth
- atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性
- Atitit.iso格式蓝光 BDMV 结构说明
- leetcode 39. Combination Sum
- 一个优秀的CQRS框架Reveno
- Atitit.cateService分类管理新特性与设计文档说明v1
- Atitit.木马病毒websql的原理跟个设计
- Atitit.atiDataStoreService v2 新特性
- 14 API-常用类(正则表达式(Pattern,Matcher),Math,Random,System,BigInteger,BigDecimal,Date/DateFormat,Calendar)
- spring异常:java.lang.ClassNotFoundException: org.aopalliance.aop.Advice
- [2107]:Founding of HDU
- zoj3620 限定时间内从a点到b点的收益最大值(状压+搜索)
- spring expression注意事项
- div+css三栏式布局
- iOS手机摇晃事件
- 二叉树