2019-09-18 10:10

找一找数据库支持的一些函数,直接用上就好,例如:
https://www.cnblogs.com/zh-1721342390/p/9605279.html
https://www.runoob.com/mysql/mysql-functions.html

如果有直接可用的函数是最好的情况

2019-09-18 09:40

@你妹啊 jfinal undertow 不支持 JSP, 改用 jetty-server 进行开发:
https://www.jfinal.com/doc/1-6

部署用 tomcat:
https://www.jfinal.com/doc/1-7

JSP 太古老了,建议换用 jfinal enjoy 引擎,爽得不得了

2019-09-18 09:37

服务端接收文件改用 commons-upload.jar 试一下,将 getFile() 去除,使用如下大致的代码结构:
HttpServletRequest request = getRequest();

然后将 request 这个对象传递给 commons-upload.jar 中的相关类进行解析,commons-upload.jar 中提供了对于 HttpServletRequest 类型对象的解析类

此外,建议先检查一下是不是 getFile() 使用的时机不对,如果有拦截器的话,也要在拦截器中首先调用
getFile()
否则无法正常工作,这个在文档中有过说明:
https://www.jfinal.com/doc/3-11

2019-09-17 16:28

me.setRenderFactory(new RenderFactory()...)
仅仅起到一个切换作用, 将你的 MyErrorRender 可以用上

为什么能起到切换作用, 因为你在 new RenderFactory 的时候覆盖了父类的两个 getErrorRender 方法

2019-09-17 16:27

继承以后,这样用上:
me.setRenderFactory(new RenderFactory() {
public Render getErrorRender(int errorCode, String view) {
return new MyErrorRender(errorCode, view);
}

public Render getErrorRender(int errorCode) {
return new MyErrorRender(view);
}
);

其中的 MyErrorRender 就是你扩展 ErrorRender 而来的

2019-09-17 16:24

Integer count = Db.queryInt("select count(*) from test");

2019-09-17 16:16

urlPara 参数中不能出现字符 '/',也不能出现字符 '.'

如果参数一定要有上面的字符,可以使用问号挂参,例如:
/upload/?para=1_a@gmail.com/bf060652e7e8cd54ae7a05870ff95c62

2019-09-17 11:11

@Fcmmy 非常详细的方案,已点赞 + 收藏,赞

2019-09-17 11:10

模板在执行的时候,已然是在向客户端/浏览器发送数据了,也就是说一边执行一边发送数据

这个时候再 try catch 意义不大,所以,一定要确保模板输出是正确的

好在模板输出是一个很简单的工作,只是数据展示而已,不容易出错

如果一定要 try catch ,可以添加自定义指令,例如:
#try
....
#catch(....)
....
#end

但是不建议这么做

更简单的做法是继承 ErrorRender 并扩展它,在扩展的 ErrorRender 中可以做很多事情,最后通过配置 me.setRenderFactory(....) 用上自己扩展的 ErrorRender

2019-09-16 19:29

@zzutligang 得想个办法能在本地重现,这样才能快速解决掉,关键是我自己从来没碰到过这个问题

2019-09-16 18:16

我记得有个 SessionListener, 直接添加就好

2019-09-16 18:11

@nani 未登录也是这样得到 session , session 监听直接加上就好,符合 servlet 规范:
https://www.jfinal.com/doc/1-4

注意看文档的这个小节:
《12、添加 Filter、WebSocket、Servlet、Listener》

2019-09-16 18:04

getSession()

2019-09-16 18:03

@果汁仔 jfinal 提供的 jetty-server 仅限于开发,不能用于部署

如果希望开发、部署一体化,需要使用 jfinal-undertow,具体用法有十分详细的说明:
https://www.jfinal.com/doc/1-2
https://www.jfinal.com/doc/1-3

从 jetty-server 切到 jfinal-undertow 只需花几分钟时间,下载首页的 jfinal_demo_for_maven 参考一下