2017-12-22 13:45

你是想这样 ?
@Override
public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) {
if ( target.indexOf('.') != -1 && target.contains("/files/") ) {
RenderManager.me().getRenderFactory().getFileRender(new File(target));
return;
}
next.handle(target, request, response, isHandled);

2017-12-21 19:03

继承Handler处理一下
YouJFinalConfig 中》 configHandler:

@Override
public void configHandler(Handlers me) {
// 自己处理
me.add(new YouHandler());
。。。
}

手册中: 2.7 configHandler (Handlers me)

或参考源码中 ActionHandler.java 模仿写一个

2017-12-21 09:26

方法一
拦截器
inv.getController().getResponse().addHeader("Access-Control-Allow-Origin", "*");//指定域名


--------------------------------------------------------------------------------
方法二

1, JFinal的Controller返回的时候如下:
这里的content就是我的Json字符串
renderJson("innerSignCallBack(" + content + ")");//跨域的请求,jsonp

2, 页面的Ajax如下:
var url = 'http://xxx.com/getJson';
$.ajax({
type : "get", //必须get,不填也行
url : url,
dataType : "jsonp",
jsonp:'innerSignCallBack', //服务器端获取回调函数名的key
jsonpCallback:'innerSignCallBack', //回调函数名
success:function(data) { //成功
alert('成功')
},
error : function(msg) {//失败
alert('失败');
}
});

3, 测试, 打完收工

2017-12-21 09:22

看下Jfinal weixin 项目里面的API模块http工具用法, 你可以直接把这个Jfinal weixin jar 放到项目里面用

2017-12-21 09:15

在tomcat里面配不好, 维护容易受影响

2017-12-21 09:13

我这边都是用NGINX做的:
server {
listen 80;
server_name www.jfinal.com;

location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_redirect off;
proxy_pass http://127.0.0.1:1011;
}


location /msg {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_redirect off;
proxy_pass http://127.0.0.1:2011;
}

# 依次往下推 /xxx

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

2017-12-18 17:23

PS: 不推荐斜杠(/参数)和横杠(-)挂参的原因:
ActionMapping.java 中 》 getAction:
/**
* Support four types of url
* 1: http://abc.com/controllerKey ---> 00
* 2: http://abc.com/controllerKey/para ---> 01
* 3: http://abc.com/controllerKey/method ---> 10
* 4: http://abc.com/controllerKey/method/para ---> 11
* The controllerKey can also contains "/"
* Example: http://abc.com/uvw/xyz/method/para
*/
public Action getAction(String url, String[] urlPara) {
Action action = mapping.get(url);
if (action != null) {
return action;//《《 如果取到了就直接返回了
}

// -------- 没有的话。。还得找,裁剪判断。。后面取值的时候也是一顿split
int i = url.lastIndexOf('/');
if (i != -1) {
action = mapping.get(url.substring(0, i));
urlPara[0] = url.substring(i + 1);
}

return action;
}

2017-12-18 16:55

@混世侃 不推荐这样使用, 使用传统挂参形式会方便功能扩展管理:
http://localhost/controllerKey/method?a=3.1425&b=2.568

由于开发环境中一般不会使用NGINX等做动静分离,
所以ActionHandler.java 》 handle 中使用:
if (target.indexOf('.') != -1) {
return ;
}
做了一个判断, 不处理带 . 的路径,也没有使用正则,为保持性能。

如果业务一定需要这样的参数形式, 那就自己继承Handler处理一下
YouJFinalConfig 中》 configHandler:

@Override
public void configHandler(Handlers me) {
// 自己处理
me.add(new YouHandler());
。。。
}

具体操作见手册: 2.7 configHandler (Handlers me)

2017-12-18 09:15

前端传的时候,参数名用不同的前缀, 如:
a.nema
b.nema

后端取的时候, 使用定义的前缀,如:
getModel(youModel.class, "a")
getModel(youModel.class, "b")
这样就可以了

2017-12-15 10:03

没看过log4j的源码,但
./ 这个就会返上一个文件夹, 如:
eclipse里面main运行的时候,就在 工程项目文件夹里面了。
用Tomcat的时候, 就在Tomcat的安装目录里面了

2017-12-15 09:22

http://www.jb51.net/article/75819.htm

2017-12-15 09:21

老铁,这个是前端技术了!
比如使用JS 进行 post提交:
function post(URL, PARAMS) {
var temp = document.createElement("form");
temp.action = URL;
temp.method = "post";
temp.target = "_blank";
temp.style.display = "none";
for (var x in PARAMS) {
var opt = document.createElement("textarea");
opt.name = x;
opt.value = PARAMS[x];
// alert(opt.name)
temp.appendChild(opt);
}
document.body.appendChild(temp);
temp.submit();
return temp;
}

2017-12-08 23:46

你可以页面加载完后,调用js 进行跳转:
$(document).ready(function(){
//走你, 比如后台用setArr(xx...
scrollTo('.${xxx}');
});
送你个 JS函数:

/**点击滑动到某个位置
1.滑动id为item 用法: scrollTo('#item',300);
2.滑到某个标签item 用法: scrollTo('.item');
* */
function scrollTo(ele, speed){
if(!speed) speed = 300;
if(!ele){
$("html,body").animate({scrollTop:0},speed);
}else{
if(ele.length>0) $("html,body").animate({scrollTop:$(ele).offset().top},speed);
}
return false;
}

//------------------
建议使用 Jfinal模版引擎Enjoy , 感觉好到爆!
如果是其他原因导致你不能直接使用, 你可以使用:
JFinal使用技巧-在JSP中使用Enjoy