2018-12-06 23:28
#if 中的表达式如果是 false ,自然就有问题,改成下面的形式:
#set( flag = false)
SELECT
a.id,
a.title
FROM
user a
WHERE
#if(t0 != null)
a.tag like '%#(t0)%'
#set(flag = true)
#end
#if(t1 != null)
#(flag ? "OR", "")
a.tag like '%#(t1)%'
#end
order by a.see desc
limit 8
也就是说用一个变量 flag 来表达前一个 #if 是否已经进入过了,才决定后面的 #if 中是否要生成一个 "OR" 出来
其实单步调试看看 getSqlPara 出来得到的 sql 值是什么就能知道问题出在哪里
2018-12-06 15:54
@gjjtip15 框架部分肯定不会对这种情况做任何限制的
jfinal 的一个理念是,能不干预就不干预,能少做事就决不多做事
我建议你先单步调试找找原因,此外,跨域解决方案有很多,在网上再找找别的方案应该比现在这个还简单
2018-12-06 15:38
@mr_wangyan 自动化同步添加 permission 数据这个功能是核心,在哪都看不到的,具体到权限验证可以猜得到是 actionKey
再一个是 #role、#permission 控制 UI 上的权限
2018-12-06 15:30
@BogBB 打包后,会有一个 lib 目录,该目录下面有一个 jar 包,这个 jar 包里面有你项目中的所有 class 文件,其中就有你的 DemonConfig
如果没有,则配置不对,例如, 打包配置成了 war,而没有配置成 jar,具体的用法在文档中很详细:
http://www.jfinal.com/doc/1-3
上面文档第一行就要求了打成 jar
2018-12-06 11:21
将这个第三方的源码拿到,然后将版本或者将项目名改一下,然后改掉源码中的 bug,再通过下面的命令安装到你本地 maven 库中:
mvn clean install
最后,再让你的项目依赖于这个新的依赖即可。你以前的方式是个定时炸弹,java 的类加载机制先加载哪个 jar 包中的 class 是不确定的,你两个 jar 包中都有相同的 class 存在
当然,如果你嫌麻烦,还可以试一下我以前自创的一个新方法,在你的项目的 JFinalConfig 继承类中的 configConstant 中添加下面一行代码:
getClass().getClassLoader().loadClass(你改掉源码的那个类的在此);
也就是说你的修改的源码处在 JFinalConfig 子类所在的 jar 包之中,通过手动 loadClass(...) 先从这里加载,当然这种方式也可能有风险,你先试一试
2018-12-05 22:27
由于 undertow 是为嵌入式 server 而生,所以 jfinal undertow 项目是不需要 web.xml 这个文件的
线上这版 Filter、Servelt、Listener、WebSocket 最新的配置方式如下:
UndertowServer.create(AppConfig.class)
.configWeb( builder -> {
// 配置 Filter
builder.addFilter("myFilter", "com.abc.MyFilter");
builder.addFilterUrlMapping("myFilter", "/*");
builder.addFilterInitParam("myFilter", "key", "value");
// 配置 Servlet
builder.addServlet("myServlet", "com.abc.MyServlet");
builder.addServletMapping("myServlet", "*.do");
builder.addServletInitParam("myServlet", "key", "value");
// 配置 Listener
builder.addListener("com.abc.MyListener");
// 配置 WebSocket,MyWebSocket 需使用 ServerEndpoint 注解
builder.addWebSocketEndpoint("com.abc.MyWebSocket");
})
.start();
这个配置方法在源码的 UndertowServer.configWeb(...) 上有。注意,上面的配置版本还未发布到中心库,现在的老版本是通过
UndertowServer.addFilterInfo(...) 来添加的 Filter
建议通过下面的方法直接用上新版本:
git clone git@gitee.com:jfinal/jfinal-undertow.git
cd jfinal-undertow
mvn clean install
注意要先将 pom.xml 中的 skip 标签改成 true 才能安装
最后改一下版本号为 : 1.2-SNAPSHOT 即可用上最新版本
2018-12-04 16:05
@wesleyxw druid 官方设置的默认值是 0 ,其实你还可以将这个值设置为 0,反正不影响 maxActive, 尽可能加快启动速度