Atitit.wrmi web rmi框架新特性
Atitit.wrmi web rmi框架新特性
1.3. 增加了globale 传递隐含参数req resp等1
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框架新特性的更多相关文章
- 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 ...
- atitit.js 各版本 and 新特性跟浏览器支持报告
atitit.js 各版本 and 新特性跟浏览器支持报告 一个完整的JavaScript实现是由以下3个不同部分组成的 •核心(ECMAScript)--JavaScript的核心ECMAScrip ...
- Atitit.js模块化 atiImport 的新特性javascript import
Atitit.js模块化 atiImport 的新特性javascript import 1. 常见的js import规范amd ,cmd ,umd1 1.1. Require更多流行3 2. at ...
- Atitit. WordPress 4.2.2新特性对比 attilax总结
Atitit. WordPress 4.2.2新特性对比 attilax总结 1. WordPress 2.9带来的新特性 1 2. WordPress3.0最为突出的五个新特征 2 3. WordP ...
- Atitit dsl exer v3 qb3 新特性
Atitit dsl exer v3 qb3 新特性 /atiplat_cms/src/com/attilax/dsl/DslParser.java V3 支持typeed参数,与简化的notyp参数 ...
- Atitit js版本es5 es6新特性
Atitit js版本es5 es6新特性 Es5( es5 其实就是adobe action script的标准化)1 es6新特性1 Es5( es5 其实就是adobe action scrip ...
- SSM框架新特性关于用Java配置类完全代替XML
项目目录结构 从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法, 这些方法将会被AnnotationConf ...
- Atitit js es5 es6新特性 attilax总结
Atitit js es5 es6新特性 attilax总结 1.1. JavaScript发展时间轴:1 1.2. 以下是ES6排名前十的最佳特性列表(排名不分先后):1 1.3. Es6 支持情况 ...
- Atitit.业务系统的新特性 开发平台 新特性的来源总结
Atitit.业务系统的新特性 开发平台 新特性的来源总结 1.1. 语言新特性(java c# php js python lisp c++ oc swift ruby go dart1 1.2. ...
随机推荐
- 手动安装python3和xgboost
yum install openssl-devel -y .tar.xz cd Python- ./configure --prefix=/usr/local/python3.5.4 make mak ...
- 33、Django实战第33天:我的消息
1.编辑usercenter-message.html继承usercenter-base.html 2.编辑users.views.py ... from operation.models impor ...
- 索引(Index)
无索引的表就是一个无序的行集.比如下面的人员表中有一些数据: 这个表上没有索引,因此如果我们查找年龄等于17的人员时,必须查看表中的每一行,看它是否与所需的值匹配.这是一个全表扫描,很慢,如果表中只有 ...
- 点击VS2010调试按钮无反应
使用vs打开网站的方式分为两种. 1) 点击“在浏览器中查看”无反应的话,就点击“浏览方式”,选择一个浏览器进行查看. 2)第二中是直接点击调试按钮,结果浏览器无反应. 以上两种方法不成功的原因都是浏 ...
- Java高级架构师(一)第18节:X-gen所需service、web层模板
以X-gen的Controller为例: package $#modulePackge#.web; import org.springframework.beans.factory.annotatio ...
- Java高级架构师(一)第09节课:搭建基础的开发环境
- jQuery的deferred对象详解(转)
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本. 每个版本都会引入一些新功能.今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能----deferred对象. ...
- Android 架构 3.实现
以实现最小化可用产品(MVP)的目标,用最简单的方式来搭建架构和实现代码.IDE采用Android Studio,Demo实现的功能为用户注册.登录和展示一个券列表,数据采用我们现有项目的测试数据,接 ...
- Java使用POM一JAR包的形式管理JavaScript文件-WebJars
说明:原来JS框架还可以使用POM进行管理的.WebJars是一个很神奇的东西,可以让大家以JAR包的形式来使用前端的各种框架.组件. 什么是WebJars 什么是WebJars?WebJars是将客 ...
- centos7.2+zabbix3.2+sedmail邮件告警
http://blog.csdn.net/xiegh2014/article/details/56277111