2020-05-07 19:31

不知跟你的应用场景对不对个,其实这个问题很简单换个思路即可,比如场景:一个列表请求页面,页面渲染显示、拉取数据分两部走,可以在不需要类似sapringmvvc返回一个Modelandview即可实现异步请求,
1、后台代码:
public void index() {
var async = get("async");
var tab = getInt("tab", -1);
var stime = get("stime");
var etime = get("etime");

if (sl.isEmpty(async)) {
render("index.html");
return;
}

set("tab", tab).set("stime",stime).set("etime", etime);

var logPage = logAdminService.paginate(getPageNumber(), getPageSize(), tab, stime, etime);
var ret = Okv.by("code", 0).set("msg", "").set("count", logPage.getTotalRow()).set("data", logPage.getList());
renderJson(ret);
}
2、前台代码:
$.ajax({
type: "POST",
url: "/admin/log",
data: {
tab: $("#tab").val(),
async: 1,
stime: $("#stime").val(),
etime: $("#etime").val()
},
success: function(ret){
}
});
2、在请求中加一个异步参数async。
3、在第一次请求传入参数async为空表示只渲染界面显示,当async不这空则表示拉取数据,这个即可实现渲染数据、拉取数据两步头;最后拉取数据那部分页面代码是通过ajax步请求。

2020-04-11 11:48

这个问题不大很非见,就如波总上面说解答,但是你应该关系那些扫码器,探测你的系统;把安全做好,sql注入,关注业务尽量不要使用sql拼接,
1、在框架层JFinal底层基于 PreparedStatement天然支持防sql注入,在数据连接层Druid 自带有防注入功能开启即可,另外应用层如果用nginx做代理的话也可以过虑掉sql注入;
2、再次关注跨站点请求校验,xss过虑,评论提交、附件上传过虑好,系统权限控制好,在业务层再防一层;
3、最后操作系统再做层安全,只要不是ddos可以说你的安全性非常非常的高,即使存在ddos但这个也问题也大,投入更多机子然后用nginx或F5做负载分流多台机子一起扛住这波流量即可。以上是做系统防护思路,希望以你了解系统安全帮助。

2020-03-26 11:28

建议你先把问题定位出来,然后再考虑是否要升级,如果还是无法定位问题,建议你直接下载官方最新demo下来运行,在上面进行开发或学习。

2020-03-26 10:46

看官方文档说明升级说明:https://jfinal.com/doc/14-1

2020-03-26 10:44

把你地址栏访问地址贴出来,还有你的配置也一起贴出来,现在只是靠猜,这种问题,上面也已经讲得很清楚了,没有错误,模板语法原样输出,就是模板没有配置不信你直接在浏览器地址栏访问html静态页面也能打印出来来。

2020-03-26 10:40

这种情况就是模板引擎没有配置,jfinal用多少版本的?

2020-03-26 10:33

我一般都不会用自动格式化,全部是手动调整,^_^!! idea自动格式化有一个问题就是当模式语法不支持会格式走样,就拿eclips行设置短,也会自己给你格成两行.

2020-03-26 10:30

先看下控制台打印什么错误信息,如果模板引擎没有配置对,会有错误提示,比如:找不到目录,再例如:然后就是界面原样输出也就是直接到模板语法给显示出业,这种情况就统称为配置错误。

2020-03-26 10:25

这个问题就是数据类型转换问题,详细renderJson底层四个实现请查阅下文档说明https://jfinal.com/doc/12-3。

2020-03-26 10:18

从你问题描述,猜出来有可能你的项目配置有问题。

2020-03-26 10:17

然后再看控制台是否有错误信息提示,然后再根据提示去调整。

2020-03-26 10:16

这个不好说,用#(staffId)加个安全符?? 变成#(staffId??),确定你的界面能正常显示先

2020-03-26 10:13

@小风yy 波总的解析很全面,根据你的需求及场景直接服Db+Record模式即可做到实时获取,用model/bean模式新添加字段是必须要重启容器加载ActiveRecordPlugin映射的 Model 进行初始化才生效,否则 Model._setAttrs 检测时发现这个字段在内存中不存在,抛出异常。

2020-03-26 10:04

你用什么模板引擎?正常获取即可,Enjoy获取:#(xxx) /freemarker获取${xxx}

2020-01-06 23:40

先排除是否存在其他缓存任务,其次可以考虑是否因模自带板缓存引起;JFinal框架默认是开启模板缓存,开发调试可通过此public void configEngine(Engine me) {me.setDevMode(true);}配置关闭缓存模板即可。详细请看文档:https://jfinal.com/doc/6-2