Амперсанд анализируется как & в Thymeleaf - PullRequest
1 голос
/ 24 мая 2019

Вот мой шаблон из тимьяна:

<html lang="en">
<head>
    <script>
       function postForm() {
          window.location.href = '[[${azSsoUrl}]]';
       }
    </script>
    <title></title>
</head>
<body onload="postForm()">
</body>
</html>

фактическое значение azSsoUrl:

http://localhost:8080/gc-restful/sso-login?spEntityID=someId&metaAlias=%2FEmployee;

но после разбора вот что я получаю в ответе. Обратите внимание, что & становится
&amp;

<html lang="en">
<head>
    <script>
       function postForm() {
          window.location.href = 'http://localhost:8080/gc-restful/sso-login?spEntityID=someId&amp;metaAlias=%2FEmployee;';
       }
    </script>
    <title></title>
</head>
<body onload="postForm()">
</body>
</html>

Я не совсем уверен, использование [[${azSsoUrl}]] - верный способ сделать это. Что я тут не так делаю?

Edit:

Я пробовал разные вещи, упомянутые в ответе на возможный дублирующий вопрос. Но, кажется, ничто не решает мою проблему.

1 Ответ

0 голосов
/ 30 мая 2019

Вот так я и решил свою проблему.Кажется, th:inline="javascript" требуется с тегом script.

<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <script th:inline="javascript">
       function postForm() {

          /*<![CDATA[*/

          window.location.href = /*[[${azSsoUrl}]]*/ 'redirect url';

          /*]]>*/
       }
    </script>
    <title></title>
</head>
<body onload="postForm()">
</body>
</html>
...