На вашем контроллере добавьте две переменные на карту вашей модели (возможно, вы уже это делаете)
modelMap.addAttribute("ocPercent", "5");
modelMap.addAttribute("ocPercentInWords", "Five");
Затем в своем html используйте следующий атрибут th: text
<p><span th:text="${ocPercent} + ' % (' + ${ocPercentInWords} + ' Percent) of the principal portion of the Receivables ..etc'"></span></p>
Таким образом, вам не нужно создавать всю строку на вашем контроллере, но вы можете только передать переменные и получить полное сообщение (без значений) на html-странице.
Ниже приведен пример использования ArrayList изКредитные значения, включая проценты в числах и словах.
Кредитный класс:
public class Credit {
private int ocPercent;
private String ocPercentInWords;
public int getOcPercent() {
return ocPercent;
}
public void setOcPercent(int ocPercent) {
this.ocPercent = ocPercent;
}
public String getOcPercentInWords() {
return ocPercentInWords;
}
public void setOcPercentInWords(String ocPercentInWords) {
this.ocPercentInWords = ocPercentInWords;
}
}
Контроллер:
//Creating 2 Credits 5%, 10% for testing
List<Credit> internalCredit = new ArrayList<>();
Credit a = new Credit();
a.setOcPercent(5);
a.setOcPercentInWords("Five");
Credit b = new Credit();
b.setOcPercent(10);
b.setOcPercentInWords("Ten");
internalCredit.add(a);
internalCredit.add(b);
modelMap.addAttribute("internalCredit", internalCredit);
Ваша модельMap теперь включает в себя список, содержащий кредитные объекты, содержащие оба значенияв цифрах и словах.
<div th:each="internalCreditEnhancement : ${internalCredit}">
<p><span th:text="${internalCreditEnhancement.ocPercent} + ' % (' + ${internalCreditEnhancement.ocPercentInWords} + ' Percent) of the principal portion of the Receivables ..etc'"></span></p>
</div>