我知道freemarker logical和&&
,但是当我在xDocReport中使用它时,发生了错误:SystemId Unknown; Line #4; Column #2796; The entity name must immediately follow the '&' in the entity reference.
。我将其更改为&&
和\u0026\u0026
,但都没有效果。
代码明细:«[#if scope!='a' && scope!='b']»
我认为这是一个基本用法。我错过了什么吗? THX!
P.S。从错误消息,指令<和>可以使用,但我找不到任何关于它的技术文档。
答案 0 :(得分:1)
模板本身并不是有效的XML片段,但是从你所说的,在XDocReport中它们显然必须是。为实现这一目标,从FreeMarker 2.3.27开始,您可以编写\and
或&&
而不是&&
。 (另外,您可以写<
和>
代替<
和>
;请参阅https://freemarker.apache.org/docs/dgui_template_exp.html#dgui_template_exp_comparison)。
在2.3.27之前,&&
没有替代语法,因此您必须重写这些表达式,以便它们不会在您的情况下使用逻辑“和”......如!(scope == 'a' || scope == 'b')
。