JQuery не отображается Thymeleaf -> Летающая тарелка -> PDF - PullRequest
0 голосов
/ 29 апреля 2019

Я реализовал Flying-Saucer в моем существующем приложении Spring.Шаблон визуализируется с помощью Thymeleaf, а затем преобразуется из HTML в xHTML с помощью Tidy.Внутри шаблона я хочу добавить код JQuery, чтобы закрасить td красным, если значение внутри div меньше 0.

Я использую следующую структуру HTML:

<table class="dcf">
  <tr>
    <td>
      <span>-500</span> €
    </td>
    <td>
      <span>-500</span>
    </td>
    <td>
      <span>-500</span>
    </td>
  </tr>
  <tr>
    <td>
      <span>10.00,00</span>
    </td>
  </tr>
  <tr>
    <td>
      <span>-5.000,23</span>
    </td>
    <td>
      <span>5.000,23</span>
    </td>
    <td>
      <span>5.000,23</span>
    </td>
    <td>
      <span>5.000,23</span>
    </td>
  </tr>
</table>

и этот код JQuery:

$(document).ready(function() {

  $(".dcf").find("tr").each(function() {
    $(this).find("td").each(function() {
      if (parseInt($(this).find("span").html()) < 0) {
        $(this).css("color", "red");
      }
    })
  });

})

вот jsFiddle http://jsfiddle.net/e51rynjx/2/

Вот моя реализация Java:

SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setApplicationContext(appContext);
        templateResolver.setPrefix("classpath:/templates/pdf/");
        templateResolver.setSuffix(".html");
        templateResolver.setTemplateMode(TemplateMode.HTML);
        templateResolver.setCharacterEncoding(UTF_8);

        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.setTemplateResolver(templateResolver);

        Context context = new Context();
        context.setVariables(data);

        String renderedHtmlContent = templateEngine.process("bm001", context);
        String xHtml = convertToXhtml(renderedHtmlContent);

        ITextRenderer renderer = new ITextRenderer();

        String baseUrl = FileSystems.getDefault().getPath("src", "main", "resources").toUri().toURL().toString();
        renderer.setDocumentFromString(xHtml, baseUrl);
        renderer.layout();

        OutputStream outputStream = new FileOutputStream("test.pdf");
        renderer.createPDF(outputStream);
        outputStream.close();

ПочемуJQuery не выполняется до экспорта xHTML в PDF?Насколько я понимаю, рендеринг HTML должен обрабатываться Thymeleaf.Так почему же JavaScript никогда не выполняется?

...