 
2020-05-27 17:43
稍微描述一下 nginx 代理实现 "https" 时, redirect(…) 会错误重定向到 "http" 的原因:
1: nginx 代理实现 https
2: 浏览器与 nginx 用的是 https 通道
3: 但 nginx 与 jfinal 项目之间用的是 http 通道
4: 在 jfinal 的 RedirectRender.java 中通过 request.getSheme() 得到的协议值必然是 "http"。通过 request.getServerPort() 得到的必然是 nginx 与 jfinal 之间用的 port
从而,站在 jfinal 的角度得到的协议值 "http" 与 port 值都是错误的,所以需要在 nginx 上通过配置传入额外的参数来解决,这两个参数就是:
X-Forwarded-Proto、X-Forwarded-Port
配置方法如下:
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
 
2020-05-27 15:42
@simplehy 
 这里给出最完美的解决方案,可以在这里直接下载代码用在项目中:
http://free-download.jfinal.com/download/MyRenderFactory.zip
 
2020-05-26 17:38
@chcode  这个是作为 jfinal 的 plugin 存在的,不算内核, 所以可以自己参考着写一个自己喜欢的 cache , 或者使用第三方的 cache 
注意 ActiveRecord 模块中依赖的 cache , 也是依赖其自身定义的接口
 
2020-05-26 16:42
@平平  比较麻烦的方法是在链接之前添加  #(CXT),然后添加一个 ContextPathHandler :
configHandler(Handlers me) {
me.add(new ContextPathHandler("CXT"");
}
所有页面涉及的地方都需要 
#(CXT)
比较省事的办法是使用 html 的一个 base 标签:
https://www.w3school.com.cn/tags/tag_base.asp
当然,强烈建议不要这么用,因为 context path 这个东东本身就是一个失败的设计
如果一定要这么用,可以用 nginx 代理,将某个 url 前缀代理给 jfinal 项目,jfinal 项目仍然原封不动, 让 nginx 重写 url 规则
 
2020-05-26 16:37
@luffy999999999999  改成  replace(".", File.separator) 试试
这个不是 jfinal 提供的类, 你们自己的代码出的问题,自然是你们自己要保障是正确的