2018-08-31 15:14
@不旺旺的仙贝 如果路由不能改,就得使用 handler 来转换,参考 com.jfinal.ext.handler 包下面的一些 handler 实现
2018-08-31 15:09
@不旺旺的仙贝 什么意思?
controller 没有这么长?
controller 只到 post ?
URL 地址栏把参数传到 post 这个 controller 里?
都听不懂
2018-08-31 14:52
我看到你的 /service/business 这两部分也需要是参数,这个 jfinal 的路由没有直接支持,改成减号分隔就可以了:
/service-business-3a093e20-58cb-46a2-bcc9-b31e6b74566c
改成上面的格式以后,getPara() 不带参时就是获取整个参数本身,获取以后可以适当做一下切割:
getPara().split("-");
getPara(int) 带 int 参数时会按位置获取参数,例如 getPara(1) 就会获取到 "business" 这个参数,这个在文档中都有代码实例
jfinal 在 url 中传参时,不支持 "/" 作为分隔符,而是使用减号 "-" 作为分隔符,这个在传参这件事情的本质上没有什么区别,但好处却很多
例如减少路径的深度,提升了搜索引擎对期的权重
例如极大提升路由匹配的效率等等
2018-08-31 14:42
@房上的猫 重定向时不要直接定向到 html 文件,而是定向到一个 action,例如你先创建一个 action :
public void index() {
render("index.html");
}
然后定向时直接定向到上面那个 action ,假定上个 action 的路由是 "/",则代码为:
redirect("/");
原因与前面的是类似的,希望 jfinal 对 html 进行渲染,就一定要走模板引擎,也就是在 action 中走一个 render 方法,而 redirect 方法是可以直接定向到 html 文件的,这样就没走 render
2018-08-31 09:05
@房上的猫 莫非你是直接在浏览器请求的 html, 根本没走 render