Atitit.wrmi web rmi框架新特性

1. V1d  新特性1

1.1. 增加了精确参数1

1.2. 增加了req参数,命名参数模式。。1

1.3. 增加了globale  传递隐含参数req resp等1

1.4. Cs bs两个版本的实现1

2. V2 新特性2

2.1. $req对象预定义参数的支持2

2.2. 动态ioc   IocXq2142

2.3. end4

1. V1d  新特性

1.1. 增加了精确参数

1.2. 增加了req参数,命名参数模式。。

增加了对req参数的处理

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

mp=mp+"&$method=com.attilax.bet.BetService.bet&$callback=get_posts_callback¶m1=$req";

1.3. 增加了globale  传递隐含参数req resp等

1.4. Cs bs两个版本的实现

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

转载请注明来源: http://www.cnblogs.com/attilax/

2. V2 新特性

2.1. $req对象预定义参数的支持

2.2. 动态ioc   IocXq214

package com.attilax.wrmi;

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang3.reflect.ConstructorUtils;

import org.apache.commons.lang3.reflect.MethodUtils;

//import com.attilaax.encode.EncodeX;   sould recomm q229 ati

import com.attilax.core;

import com.attilax.ioc.IocXq214;

import com.attilax.lang.Global;

import com.attilax.lang.ParamX;

import com.attilax.ref.refx;

import com.attilax.web.ReqX;

import com.google.common.collect.Maps;

/**

* $method=com.attilax.jsna.test.add

* @author Administrator

*

*/

public class Wrmi {

/**

* def output raw type ..if list map object use json fmt

*

* @param req

* @return

*/

@SuppressWarnings("all")

public String exe(Map m) {

//Map m=Maps.newLinkedHashMap();

//if(req2 instanceof String)  //cs envi

//  m = new ParamX().urlParams2Map((String) req2);

//

Object[] params_objArr = getParamsArr(m);

String meth = (String) m.get("$method");

String classname = refx.getClassName(meth);

String meth_name = refx.getMethodName(meth);

Object o;

try {

// String apptype=System.getProperty("apptype");

o =  IocXq214.getBean(classname);

Object invokeMethod_ret = com.attilax.reflect.MethodUtils.invokeMethod(o, meth_name,

params_objArr);

String ret = "";

if (invokeMethod_ret instanceof String)

ret = (String) invokeMethod_ret;

if (invokeMethod_ret instanceof Integer || invokeMethod_ret instanceof Double)

ret =  invokeMethod_ret.toString();

else

ret = core.toJsonStrO88(invokeMethod_ret);

return ret;

} catch (Throwable e) {

e.printStackTrace();

return core.toJsonStrO88(e);

}

}

private Object[] getParamsArr(Map m) {

List paras_li = new ArrayList();

//m.get("param")

if (m.get("param") != null)

paras_li.add(convertReqObjParams( m.get("param")));

for (int i = 0; i < 7; i++) {

String param_index = "param" + String.valueOf(i);

if (m.get(param_index) != null)

paras_li.add(convertReqObjParams(m.get(param_index)));

}

Object[] params_objArr = paras_li.toArray();

return params_objArr;

}

private Object convertReqObjParams(Object object) {

if(object.toString().trim().equals("$req"))

return Global.req.get();

return object;

}

}

2.3. end

Atitit.wrmi web rmi框架新特性的更多相关文章

  1. Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结

    Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结 1.1. Java的编年史2 ...

  2. atitit.js 各版本 and 新特性跟浏览器支持报告

    atitit.js 各版本 and 新特性跟浏览器支持报告 一个完整的JavaScript实现是由以下3个不同部分组成的 •核心(ECMAScript)--JavaScript的核心ECMAScrip ...

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

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

  4. Atitit. WordPress 4.2.2新特性对比 attilax总结

    Atitit. WordPress 4.2.2新特性对比 attilax总结 1. WordPress 2.9带来的新特性 1 2. WordPress3.0最为突出的五个新特征 2 3. WordP ...

  5. Atitit dsl exer v3 qb3 新特性

    Atitit dsl exer v3 qb3 新特性 /atiplat_cms/src/com/attilax/dsl/DslParser.java V3 支持typeed参数,与简化的notyp参数 ...

  6. Atitit js版本es5 es6新特性

    Atitit js版本es5 es6新特性 Es5( es5 其实就是adobe action script的标准化)1 es6新特性1 Es5( es5 其实就是adobe action scrip ...

  7. SSM框架新特性关于用Java配置类完全代替XML

    项目目录结构 从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法, 这些方法将会被AnnotationConf ...

  8. Atitit js es5 es6新特性 attilax总结

    Atitit js es5 es6新特性 attilax总结 1.1. JavaScript发展时间轴:1 1.2. 以下是ES6排名前十的最佳特性列表(排名不分先后):1 1.3. Es6 支持情况 ...

  9. Atitit.业务系统的新特性 开发平台 新特性的来源总结

    Atitit.业务系统的新特性 开发平台 新特性的来源总结 1.1. 语言新特性(java c# php js python lisp c++ oc swift ruby  go dart1 1.2. ...

随机推荐

  1. 【线段树】bzoj3747 [POI2015]Kinoman

    题解:http://www.cnblogs.com/zyfzyf/p/4105184.html 一.下传标记写法 #include<cstdio> #include<algorith ...

  2. 5.8 Properties

    一.Propertie 主要用于读写资源配置文件. Properties继承自Hashtable. 我们来看下HashMap和Hashtable的区别: Hashtabl  线程安全,    同步,  ...

  3. 安装CentOS 6停在selinux-policy-targeted卡住的问题解决

    在刚开始安装时,设置swap分区.设置swap分区.设置swap分区 参考: http://tieba.baidu.com/p/3817971339 http://blog.csdn.net/zhan ...

  4. Linux Hook 笔记

    相信很多人对"Hook"都不会陌生,其中文翻译为"钩子".在编程中, 钩子表示一个可以允许编程者插入自定义程序的地方,通常是打包好的程序中提供的接口. 比如,我 ...

  5. delphi执行cmd命令和bat文件

    转载地址:http://blog.csdn.net/hutao1101175783/article/details/42807063 cmd:='echo d | Xcopy '+BasePath+' ...

  6. 谁说 JavaScript 很简单了?

    转载请注明出处,保留原文链接以及作者信息 本文介绍了 JavaScript 初学者应该知道的一些技巧和陷阱.如果你是老司机,就当做回顾了,哪里有写的不好的地方欢迎指出. 1. 你是否尝试过对一个数字数 ...

  7. 【SQL Server】sql server更改了数据表的字段/新增数据表的字段 无法保存

    sql server更改了数据表的字段/新增数据表的字段  无法保存 解决方法:进入 工具-->选项-->Designers-->表设计器和数据库设计器-->取消勾选   即可

  8. SQL Server 笔试题总结

    1:编写Sql语句,查询id重复3次以上的条目,表为Pram(id,name) 先看建立的表: SQL语句: 直接使用一个子查询即可 select * from Pram where id in(se ...

  9. CentOS6 安装golang

    CentOS6 安装golang 下载 wget http://golangtc.com/static/go/1.8/go1.8.linux-amd64.tar.gz 1 1 1 解压 tar -xz ...

  10. Android中关闭DatePicker和NumberPicker等Picker类的可编辑模式

    DatePicker.TimePicker.NumberPicker等控件在由于默认是可编辑的,所以会经常跳出键盘.要屏蔽这些编辑模式只需要如下代码: picker.setDescendantFocu ...