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
2018-08-30 23:12
@nbjgl 在 configPlugin 中的最后,手动调用一下 arp.start() 这样就可以立即启动 ActiveRecordPlugin 了
然后就可以直接 Db.update(...) 了
2018-08-30 22:17
@libofei getModel 得会用,看一下 jfinal demo 中怎么用的,一定要注意前缀:
name="blog.title"
name="blog.content"
上面的 blog 这个前缀,正好是 getModel 第一个参数 “Blog" 的第一个字母变小写,就是 "blog"
你也可以打破上面的约定,手动指定:
getModel(Blog.class, "otherName")
以上就指定了 "otherName" 作为前缀,这个时候,在页面就可以这样:
name="otherName.title"
name="otherName.content"