Java velocity.exception.ParseErrorException:遇到“异常”&书信电报;EOF>&引用;at<;未知模板>;当#end后跟_

Java velocity.exception.ParseErrorException:遇到“异常”&书信电报;EOF>&引用;at<;未知模板>;当#end后跟_,java,velocity,Java,Velocity,在评估velocity模板时,我得到以下错误 Encountered "<EOF>" at <unknown template>[line 1, column 170] Was expecting one of: "[" ... "(" ... <RPAREN> ... <ESCAPE_DIRECTIVE> ... <SET_DIRECTIVE> ... "##" ... "\\\

在评估velocity模板时,我得到以下错误

Encountered "<EOF>" at <unknown template>[line 1, column 170]
Was expecting one of:
    "[" ...
    "(" ...
    <RPAREN> ...
    <ESCAPE_DIRECTIVE> ...
    <SET_DIRECTIVE> ...
    "##" ...
    "\\\\" ...
    "\\" ...
    <TEXT> ...
    "*#" ...
    "*#" ...
    "]]#" ...
    <STRING_LITERAL> ...
    <END> ...
    <IF_DIRECTIVE> ...
    <ELSEIF_DIRECTIVE> ...
    <ELSE_DIRECTIVE> ...
    <INTEGER_LITERAL> ...
    <FLOATING_POINT_LITERAL> ...
    <WORD> ...
    <BRACKETED_WORD> ...
    <IDENTIFIER> ...
    <DOT> ...
    "{" ...
    "}" ...
    <EMPTY_INDEX> ...
    <DOT> ...
我需要整个字符串不带空格,并且遵循
fileName\u TypeAlpha\u 20200423
的格式,因此我的问题是
\end\u
。下划线导致velocity忽略#end,因此无法计算if-else语句

如何执行#if#elseif#结束,并在结束后立即执行一个无空格的

谢谢

找到了答案

我需要用花括号把结尾括起来,以区别于正文的其他部分

{end}}

所以我的模板是

${fileName}_#if( $noticeType == 'typeA' )TypeAlpha#elseif( $noticeType == 'typeB' )TypeBeta#{end}_$date.format('yyyyMMdd', $myDate)
看到了吗

${fileName}_#if( $noticeType == 'typeA' )TypeAlpha#elseif( $noticeType == 'typeB' )TypeBeta#{end}_$date.format('yyyyMMdd', $myDate)