FreeMarker 似乎无法解析 HTML 5 data-* 属性,破折号卡住了
我编写了一个简单的自定义指令,并让它将所有属性作为常规元素属性传递。标签的语法如下:
<代码> <@link_to controller="unobtrusive" action="do-get" data-target="result">执行获取 不幸的是
,我遇到了一个例外:
<代码> 原因:freemarker.core.ParseException:在 unobtrusive/index.ftl 的第 32 行、第 56 列遇到“-”。 本来期待: “=”...
这是因为它似乎无法解析 data-target
属性。当我将其更改为带有下划线的“data_target”时,一切都很好......但我真的需要破折号:“-”。
有人可以帮忙吗?
谢谢, 伊戈尔
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试一下常见问题解答中的提示
@link_tocontroller="unobtrusive " action="do-get" "data-target"="result">
我个人还没有尝试过,所以不能保证它是否有效。
Try this tip from the FAQ
<
@link_to controller="unobtrusive" action="do-get" "data-target"="result">
I haven't tried this personally so can't vouch if it will work.
我只是陷入了同样的问题。 <@form.textarea ... data-maxCount="100"/>。 freemarker 似乎误解了名称中的特殊字符... Freemarker 常见问题解答
I just stuck in the same problem. <@form.textarea ... data-maxCount="100" />. It seems that freemarker misinterprets special characters in names... Freemarker FAQ
从 2.3.22 开始,如果前面带有
- (以及
.
和:
)作为任何名称的一部分>\,如<@link_to data\-target=...>
。 (这不太可爱,但是-
已经用作减法运算符,修复此问题不会向后兼容,因此必须等待主要的 FTL 版本增加。)As of 2.3.22, you can use
-
(and.
and:
) as part of any name if you precede it with a\
, like in<@link_to data\-target=...>
. (It's not too cute, but-
is already used as subtraction operator, and fixing this wouldn't backward compatible, and so must wait for a major FTL version increase.)