2018-04-12 21:27
前台:
$("input").keyup(function(){
var v =$("input").val();
$.post("/xxx/url/xxx",{doubleData:v},function(result){
$("span").html(result);
});
});
后台:
Double doubleData = Double.valueOf(getPara("doubleData"));
如果有很多这样的取值地方, 可以对 BaseController进行增强一下:
public Double getParaToDouble(String name, Double defaultValue) {
return toDouble(getRequest().getParameter(name), defaultValue);
}
private Double toDouble(String value, Double defaultValue) {
try {
if (StrKit.isBlank(value))
return defaultValue;
value = value.trim();
return Double.valueOf(value);
}
catch (Exception e) {
throw new ActionException(400, RenderManager.me().getRenderFactory().getErrorRender(400), "Can not parse the parameter \"" + value + "\" to Double value.");
}
}
这样就可以:
Double doubleData = getParaToDouble("doubleData");
2018-04-11 20:37
后台正常写没有区别:3.4 getPara系列方法
不要使用URL-挂参: 如xxx/1-2.0-3就没事.
前端看教程:$.post() 方法使用 HTTP POST 请求从服务器加载数据。
2018-04-11 19:30
@hotsmile 2333 去年的帖子... 你才上线啊, 你如果想"自定义一个注解类", 然后还要 "拦截到这个注解类" 操作... 需要用的时候 还需 "加注解" 到某个地方 ..
很繁琐了... 参考波总说的, 但是不要注册成"全局拦截器" , 在需要的地方 使用 "@Before(MyLogInterceptor.class)" 就可以了, 再配合 Duang 用来对目标进行增强 就可以了, 何必再造一个轮子 ~ 4.2 Interceptor
2018-03-31 15:22
@炒鸡大虾 如果当前线程不再getAccessTokenStr() , 是的要释放 , 你可以先了解一下ThreadLocal这个类, 再看下jfinal-weixin里面的源码,就什么都清楚了
2018-03-31 10:17
@炒鸡大虾 是的, 但是用完一定要记得 ApiConfigKit.removeThreadLocalAppId(); 释放掉 , 不然有可能出现内存泄漏的问题
2018-03-30 20:20
Service层里业务需要手动调取:
ApiConfigKit.setThreadLocalAppId(appId); 手动绑定到当前线程
AccessTokenApi.getAccessTokenStr() 返回值
ApiConfigKit.removeThreadLocalAppId();手动释放
通过URL API控制器调取:
只要@Before(ApiInterceptor.class 就能自动根据URL挂参appId(默认可修改)=xxx
Controller 自动绑定 ApiConfig 对象到当前线程, 和释放
所以后面代码能直接调用 AccessTokenApi.getAccessTokenStr()
2018-03-23 22:19
默认JFinalJson工具转 model 时 是不支持自定义属性的,
if (value instanceof Model) {
Map map = com.jfinal.plugin.activerecord.CPI.getAttrs((Model)value);
return mapToJson(map, depth);
}
if (value instanceof Record) {
Map map = ((Record)value).getColumns();
return mapToJson(map, depth);
}
/** com.jfinal.plugin.activerecord.CPI.getAttrs
* Return the attributes map of the model
* @param model the model extends from class Model
* @return the attributes map of the model
*/
@SuppressWarnings({"unchecked", "rawtypes"})
public static final Map<String, Object> getAttrs(Model model) {
return model._getAttrs();
}
public class Node extends BaseNode<Node> {
public String getDeviceChannel() {
return get("deviceChannel");
}
public void setDeviceChannel(String deviceChannel) {
put("deviceChannel ", deviceChannel)
}
}
2018-03-22 21:41
@AndrewTseng 分享的一个小玩意 JFinal使用技巧-Enjoy导出XLS