Freemarker вставляет лишнюю пунктуацию в атрибут href - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть шаблон Freemarker HTML, который включает в себя:

<#assign addr>${serverAddress}activate/${user.id?string.computer}</#assign>
<p> 
<a href="${addr}">${addr}</a>
</p>

Вывод HTML, полученный в результате этой разметки (при условии, что $ {serverAddress} = "http://myserver.com/ "и $ {user.id} = 20):

<a href="\"http://myserver.com/activate/20\"">http://myserver.com/activate/20</a>

Дополнительные \" в начале и конце атрибута href не вызывают проблем, но они не нужны и не элегантны Я не понимаю, почему они там, и я не знаю, как от них избавиться.

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Я думаю, что нашел ответ. Просто опустить кавычки вокруг значения атрибута href: поэтому вместо

<a href="${addr}">${addr}</a>

я пишу

<a href=${addr}>${addr}</a>

, и результат будет таким, как ожидалось.

Не совсем интуитивно, но эй, это работает.

0 голосов
/ 07 апреля 2020

Можете ли вы написать это:

<#assign addr = “${serverAddress}activate/${user.id?string.computer}” >

В соответствии с лучшей практикой Freemarker: https://freemarker.apache.org/docs/ref_directive_assign.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...