2017-09-03 22:09

这个必然是配置错误,一定要注意,每一个 engine 对象都是独立的,不同场景下使用的 engine 对象是不同的

configEngine(Engine engine) 下配置的 engine 对象对应于 render 方法相关模板使用的 engine 对象

而别的地方配置的则与 configEngine(Engine engine) 中配置的 engine 没有关系,仔细看一下文档

2017-09-03 18:18

此外,永远不要对一个变量用 ?? 运算符,上面的代码直接这样就好:
#if ( sort ), 因为对于一个变量来说,不可能出现取值时的空指异常

只有在多层次取值,或者方法调用时才需要使用 ?? 运算符,象下面就需要:
#if (obj.value ?? ) ,因为 obj 为 null 时会抛出异常

还有一个应用场景是变量为 null 并且需要默认值时,例如:
value ?? defaultValue

2017-09-03 18:15

你的 sort 是 create_date, order 是 asc,这两个东东明显是不能使用问号占位符的,将 #para 指令改成输出指令即可:
#if(sort??)
order by #(sort) #(order)
#end

2017-09-03 18:04

这里面用到了一个 UrlSeoHandler,用于将 /share/123 这样的 url 转化成 /share/detail/123 这样的 url

目的就是为了让详情页面的 url 再简短一点,有利于 SEO,当然这个 SEO 优化也仅仅是 SEO 工作者的一个普遍看法,是不是有用不一定

2017-09-02 15:24

@arboret 没这方面的经验,建议仔细单步调试,看请求是被什么东东拦截的

2017-09-02 15:14

从来没碰到过这种事,参考一下这里:
http://www.duanzhihe.com/575.html
http://blog.csdn.net/wangjun5159/article/details/46912803
http://blog.xinshangshangxin.com/2015/04/20/%E8%A7%A3%E5%86%B3provisional-headers-are-shown%E7%9A%84%E8%BF%87%E7%A8%8B/

2017-09-01 20:39

https://gitee.com/jfinal/jfinal-weixin

2017-09-01 15:16

这个与 PropKit 的关系是什么? PropKit 拿到了你想要的数据时,工作就完成了,与 这个 url 是不是可以访问完全没有关系

2017-09-01 15:15

问题是?

2017-09-01 11:04

@hotsmile 很多年前就支持

2017-09-01 10:28

@jiaxiang 只要知道jfinal 模板引擎与 java 是直接打通的,足够实现很多功能

2017-08-31 23:48

sitemesh 是否需要与 servlet 绑定,例如,是不是要在 web.xml 中添加一个 Filter,而 enjoy 是不与任何其它 api 绑定的,这样就可以用于非 web 开发环境

而且利用过滤的方式还得去区分哪些该应用 head 与 body 部分,性能肯定好不到哪里去,而 enjoy 则使用的是任何语言中都有的 function 概念来实现这个功能的,学习成本会更低

sitemesh 想必会有一些约定需要去学习,而 enjoy 中模板函数是现成已有的功能,不需要学习就能用上她来实现 layout 的功能

当然, sitemesh 或许有它的优点,做框架性的东西最终还是一个利弊的权衡结果,希望你能先尝试一下 enjoy 的用法,感受一下再回头来对比一下

2017-08-31 23:17

spring 的 form:from 这种标签必定是使用了某种模板引擎,切换过来是分分钟的事情

标签的量就那么点,将这几个标答用 enjoy 的模板函数定义在一个类似于 tag.html 的文件中,然后调用就好:
#@form(p1, p2, ..., pn)

用起来就跟调用函数一样简洁,而且理解起来比标签要方便,记得搞定后回来分享一下

2017-08-31 20:38

三个参数,就必须有三个问号占位,这个是 jdbc 要求的, jfinal 并未干预过

2017-08-31 17:49

@ttjs2013 这个配置会在 jfinal 3.3 中默认给加上去