Я реализовал 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 никогда не выполняется?