JFinal模板引擎$问题

使用JFinal的模板引擎,参数中带有$字符就会报错,应该如何转义?@Jfinal

参数事例:

#(qualificationDetail.qual_role$dicText)

报错信息:

Caused by: com.jfinal.template.stat.ParseException: # parameter exists illegal char: '$'

Template: "/WEB-INF/views/business/qualification/preview.html". Line: 119

at com.jfinal.template.stat.Lexer.scanPara(Lexer.java:278)

at com.jfinal.template.stat.Lexer.scanDire(Lexer.java:110)

at com.jfinal.template.stat.Lexer.scan(Lexer.java:60)

at com.jfinal.template.stat.Parser.parse(Parser.java:89)

at com.jfinal.template.Engine.buildTemplateBySourceFactory(Engine.java:157)

at com.jfinal.template.Engine.getTemplate(Engine.java:142)

at com.jfinal.render.TemplateRender.render(TemplateRender.java:60)


评论区

JFinal

2019-01-02 16:49

field 取值表达式支持很多种用法,例如:
#(qualificationDetail.get("qual_role$dicText"))

再例如:
#(qualificationDetail["qual_role$dicText"])

参考文档,选择合适的用法即可:
https://www.jfinal.com/doc/6-3

袁小猴

2019-01-02 16:55

@JFinal 完美解决问题,多谢波总解答哈~

JFinal

2019-01-02 17:07

@袁小猴 jfinal enjoy 模板引擎简洁而强大,谁用谁爽翻

袁小猴

2019-01-02 17:15

@JFinal 基本上就是好用到想哭。。。

JFinal

2019-01-02 18:13

套马的汉字

2019-11-25 20:03

@JFinal set里取值怎么搞?#set( var = "," + #(name))

JFinal

2019-11-25 20:40

@套马的汉字 表达式中不要出现字符 '#',而是应该直接使用变量名,例如:
#set( var = "," + name)

套马的汉字

2019-11-26 09:31

@JFinal 解决了,多谢多谢,jfinal enjoy是真的enjoy

JFinal

2019-11-26 11:31

@套马的汉字 enjoy coding and enjoy life

zylucky

2019-12-11 19:46

@JFinal 有没有模板的示例代码

chcode

2022-09-06 13:49

@JFinal 貌似变量名存在$也是符合java变量命名规范的,enjoy理念是和java直接打通,没理由不支持啊

JFinal

2022-09-07 18:29

@chcode 已支持,变动两行代码的事。以前不支持是因为没注意到还有这么个事

chcode

2022-09-08 09:19

@JFinal 好的,非常赞

chcode

2022-09-13 14:38

@JFinal 还没发布吗

JFinal

2022-09-18 12:36

@chcode enjoy 极简设计之下,添加这个功能添加一行删除一行代码的事,这就是极简设计的力量:

https://gitee.com/jfinal/jfinal/commit/00940a2a2390932cf95a871a65b2172a1341dca8

热门反馈

扫码入社