Не используется Apache velocity
, но в текущем проекте мы используем эту библиотеку для заполнения данных в шаблоны.
хотел бы спросить, можно ли заменить тег внутри шаблона, используя Velocity
?
У меня есть такой шаблон:
<head>
<link href="conf/templates/template_style.css" rel="stylesheet" type="text/css"/>
</head>
<p>
<span class="mention" data-id="295" data-value="${AutumnExams}">
<span contenteditable="false">${AutumnExams}</span>
</span>
</p>
и используя такой код:
private String applyDynamicContent(String templateHtmlData, List<DynamicContentPart> dynamicContentParts) throws ParseException {
if (!dynamicContentParts.isEmpty()) {
RuntimeServices rs = RuntimeSingleton.getRuntimeServices();
SimpleNode sn = rs.parse(new StringReader(templateHtmlData), "Template body");
Template template = new Template();
template.setRuntimeServices(rs);
template.setData(sn);
template.initDocument();
VelocityContext context = createVelocityContext(null, null);
dynamicContentParts.forEach(dContent -> context.put(dContent.getPlaceholder(), dContent.getContent()));
StringWriter writer = new StringWriter();
template.merge(context, writer);
return writer.toString();
}
return templateHtmlData;
}
Я заменяю только: ${AutumnExams}
заполнители.
Но есть ли возможность заменить весь SPAN, например, на основе data-value="${AutumnExams}"
У меня есть 1-часовой опыт работы с velocity lib
, поэтому буду признателен за помощь с кодом.