当前位置: 首页 > 知识库问答 >
问题:

速度模板无法呈现,因为其中一个字符串变量包含$字符

廖臻
2023-03-14
 "name": "$data"

我使用速度与Java,如果$data的值包含一个$字符,如$abcd,那么模板无法呈现,因为错误消息。

"Error rendering the template ::: HomePage : data [abcd, abcd] is missing"

如何解决这个问题,以便我可以呈现带有$字符的字符串?

此外,他还尝试了java中的escape工具,但似乎没有任何效果。

编辑:我有一个来自BE的用户对象,我想为这个用户呈现不同的值,比如$user.name$user.address等。如果任何字段说$user.nameabcd$pqr,则解析失败,因为未知变量$pqr。如何解决这个问题,当我们必须呈现嵌套在对象中的数据?如果我做到以下几点

#set($username = "$user.name")
"name": "$username"

然后它失败,错误是$user。名称缺失,将其视为一个名称,不进行插值。基本上,我想显示$user的值。名称完好无损。

共有1个答案

习海
2023-03-14

为Velocity定义值时,您可以只使用单引号来避免插值:

#set( $data = '$data' )
"name": "$data"

或者使用特定变量显示$

#set( $d = '$' )
"name": "${d}data"

或者使用评论:

#* this is a comment *#
"name": "$#**#data"

或使用未解析的内容:

"name": #[["$data"]]#
 类似资料:
  • 问题内容: 我有一个模板存储在变量中。我正在使用读取来自外部文件的内容。 现在,很明显,当我附加到目标div的innerHTML时,它按原样显示字符串,而不是按预期方式显示“ Hello,James”(假设user.name = James)。 有办法实现吗? extfile.txt => Welcome, ${user.name} Node.js代码=> HTML => 问题答案: 我稍微重写了

  • 问题内容: 我使用“消息”界面将消息传递给用户,如下所示: 我想在变量中包含html 并呈现它,而不在模板中转义标记。 问题答案: 如果你不想转义HTML,请查看过滤器和标签: safe: autoescape:

  • 我试图在Flatter Firebase中执行一个“where”查询,以按名称进行过滤(如果对象名为“Una casa roja”,用户写“casa”,则必须返回该对象)。我不知道我能问谁。我只有这个,但不是我想要的: 谢谢

  • 问题内容: java中有没有一种方法可以用指定数量的指定字符创建字符串?就我而言,我需要创建一个包含10个空格的字符串。我当前的代码是: 有没有更好的方法来完成同一件事。特别是我想快速(在执行方面)。 问题答案: for循环将由编译器优化。在像您这样的情况下,您无需自己担心优化。信任编译器。 顺便说一句,如果有一种方法可以创建一个包含n个空格字符的字符串,那么它的编码方式就和您刚才一样。

  • 问题内容: 有没有办法使用包含其名称的字符串来引用Javascript变量? 例: 问题答案: 您可以使用an 做到这一点,尽管我会尽一切努力避免这种事情。 如果您发现自己需要这样做,一种更好的方法是使用哈希表。

  • 题目描述 给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短。请问,如何最快地判断字符串B中所有字母是否都在字符串A里? 为了简单起见,我们规定输入的字符串只包含大写英文字母,请实现函数bool StringContains(string &A, string &B) 比如,如果是下面两个字符串: String 1:ABCD String 2:BAD 答案是true,即Stri