关于JFinal模板输出标题列表超长截取问题

在开发过程中,很多需要标题、摘要等超出字数后用“...”表示,请问,JFainl模板怎么来实现这种功能?

#(val.substring[0,12])不能用

评论区

JFinal

2017-08-24 10:50

jfinal 模板引擎与 java 是直接打通的,所以用法如下:
#(val.substring(0, 12))

也就是说直接像在 java 中调用方法一样就可以了。此外建议仿照 com.jfinal.template.ext.extensionmethod 包中的 StringExt 来写一个 MyStringExt,扩展一个如下的方法来用:
#(val.sub(0, 12, "..."))
上面的用法做成可以指定多余部分用什么字符串表示,此外还可以在字符串少于 12 时不抛出异常,java 的 String 的 substring 方法在超出长度时会抛异常

extension method 的扩展极度容易,看一下 jfinal 手册立即就会了

苦丁香

2017-08-28 15:58

public void configEngine(Engine me) {
Engine.addExtensionMethod(String.class, MyStringExt.class);
}

这样吗?

JFinal

2017-08-28 17:04

@苦丁香 没错,记得扩展搞定后,回来分享一下,在分享频道:jfinal.com/share

热门反馈

扫码入社