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. ...
随机推荐
- Codeforces Round #394 (Div. 2) E. Dasha and Puzzle(分形)
E. Dasha and Puzzle time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- POJ1258 Agri-Net(Prim)
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 51685 Accepted: 21558 Descri ...
- autossh反向隧道
实验目标 有两台主机: hostA: 阿里云公网主机 hostB: 本地内网主机 需求实现: 在hostB上使用autossh将hostB的80的端口映射到hostA的8080,使得其他机器访问hos ...
- [Lydsy1805月赛] 对称数
挺不错的一道数据结构题QWQ. 一开始发现这个题如果不看数据范围的话,妥妥的树上莫队啊23333,然鹅10组数据是不可能让你舒舒服服的树上莫队卡过的23333 于是想了想,这个题的模型就是,把u到v链 ...
- 某考试 T2 orzcyr
非常nice的一道行列式的题目. 考虑如果没有路径不相交这个限制的话,那么这个题就是一个行列式:设 a[i][j] 为从编号第i小的源点到编号第j小的汇点的路径条数,那么矩阵a[][]的行列式就是的答 ...
- 用fastjson反序列化 带泛型的类
ServiceResult<User> serviceResult = JSON.parseObject(obtainResult, new TypeReference<Servic ...
- 微信php分享页面自定义标题与内容
1.因为现在分享页面,发给朋友或者朋友圈都没办法自定义标题.图片和内容,所以必须要有微信公众号 2.如果有微信公众号可直接登录,如果没有要注册,注册完或者登录了 3.查看你的权限,左侧最下面开发的接口 ...
- PHP中使用XMLRPC
PHP中简单使用XMLRPC,服务器端和客户端都为PHP代码实现. 这里使用的XML-RPC完整包括client和server的XML-RPC实现. 客户端和服务器端分别由 xmlrpc_client ...
- windows 7系统搭建PHP网站环境
2.新建数据库打开浏览器,输入http://localhost:9999或者http://127.0.0.1:9999回车填写用户名root和密码回车登录点击权限-添加新用户填写用户名,主机选择本地, ...
- Linux下PCI设备驱动程序开发 --- PCI驱动程序实现(三)
三.PCI驱动程序实现 1. 关键数据结构 PCI设备上有三种地址空间:PCI的I/O空间.PCI的存储空间和PCI的配置空间.CPU可以访问PCI设备上的所有地址空间,其中I/O空间和存储空间提供给 ...