問題

私はthymeleafを使用します js関数では、行を作成します。問題は、thymeleaf部分が解釈されないため、thymeleafコードはまだコード内にあります。

 <script type="text/javascript" th:inline="javascript">

    function addRow(tableId, letter){

        var row=`
            <tr>
              <td  data-id="${letter}">${letter}</td>
              <td> <input class="" type="checkbox" name="compression"> </td>
              /*[# sec:authorize="hasAnyRole('ROLE_ADMIN', 'ROLE_USER')"]*/   
              <td> <i class="fas fa-trash-alt delete"></i> </td>
              /*[/]*/
             </tr>
              `;
         ...
     } 

</script>
 

thymeleafのキャラクター原因のように見える

  ベストアンサー

あなたがやったようにインラインJavaScriptを使うべきですが、小さな違いがあります。コードサンプルは次のとおりです。

 <script type="text/javascript" th:inline="javascript">

    /*<![CDATA[*/
    function addRow(tableId, letter){

        var row='
            <tr>
              <td  data-id="' + ${letter} + '">' + ${letter} + '</td>
              <td> <input class="" type="checkbox" name="compression"> </td>' + 
              /*[# sec:authorize="hasAnyRole('ROLE_ADMIN', 'ROLE_USER')"]*/   
              '<td> <i class="fas fa-trash-alt delete"></i> </td>' + 
              /*[/]*/
             '</tr>';
         ...
     } 

</script>
 

CDATA の開始と終了のマーキングに注意してください。

  同じタグがついた質問を見る

javascriptthymeleaf