jfinal 在使用enjoy引擎模版时,返回jsp文件,页面使用el表达式无效

@JFinal 如题,默认引擎模版是enjoy,在controller中返回jsp页面时,页面的el表达式无效

评论区

JFinal

2018-10-22 10:25

使用 enjoy 引擎的模板,就只能使用 enjoy 的表达式,而不能使用 el 表达式

如果希望同时使用 JSP,使用下面的代码即可:
renderJsp("my.jsp");

也就是说 render(...) 使用的是 enjoy ,而 renderJsp(...) 使用的是 jsp

在 jfinal 项目中可以同时是无数种模板引擎共存,因为除了 render、renderJsp、renderVelocity、renderFreemarker 以外,还有 render(Render render) 这个方法可以支持任意 render 扩展

錢勢惘導

2018-10-22 10:31

@JFinal 就是用的这个 renderJsp("my.jsp"); 返回的jsp页面,也就是说,在使用enjoy引擎模版时,返回的jsp页面中不能使用el表达式

JFinal

2018-10-22 10:46

@錢勢惘導 用的 renderJsp("my.jsp") 没问题的,在 "my.jsp" 中尽管使用 el 表达式,这么用的话就与 enjoy 完全无关了

你说的 el 表达式无效,基本可以确定是别的错误,与 enjoy 没有关系

錢勢惘導

2018-10-22 11:39

@JFinal 您好,我在configHandler中添加的全局的ContextPathHandler,在renderJsp("my.jsp") 中用el表达式获取不到值呀,我用的事jetty启动,这个和jetty有关吗?

JFinal

2018-10-22 11:54

@錢勢惘導 这个与 jetty 无关,取值要弄对 contexPath 的名称,默认名是 "CONTEXT_PATH",用的时候这样:
${CONTEXT_PATH}

你也可以在配置的时候指定一个更简短的名字:
me.add(new ContextPathHandler("CXT"));

用的时候变这样:
${CXT}

錢勢惘導

2018-10-22 15:52

@JFinal 解决了,参考的这个 https://blog.csdn.net/hanshileiai/article/details/46619777 page指令中少一个 isELIgnored="false" 属性

JFinal

2018-10-22 15:54

@錢勢惘導 这个是纯粹的 JSP 的行为, jfinal 是完全不干预的

JFinal

2018-10-22 15:55

@錢勢惘導 估计你的 web.xml 文件中头部的文档限制部分配置不对,也可能是 jsp 文件的头部要添加什么指令的引用

JSP 用起来很多冗余,所以 jfinal 才提供 enjoy 引擎来取代 JSP, enjoy 引擎比 JSP 好用得多

錢勢惘導

2018-10-22 16:48

@JFinal 好的,谢谢您的耐心解答

热门反馈

扫码入社