我有html代码,必须用不同的语言生成。
Click <a href="https://here">here</a>
Kliknij <a href="https://here">tutaj</a>
如果使用i18n和Thymeleaf假设url
是用户输入?如何处理这个简单的例子?
我试试:
messages.click_here = Click <a href="{0}">here</a>
然后在百里香中:
<span th:text="#{messages.click_here(${url})}"></span>
但是我的代码不会被解释为HTML
所以我可以使用utext
<span th:utext="#{messages.click_here(${url})}"></span>
但是现在我的应用程序暴露在代码注入中。有人可以通过${url}
传递恶意参数,关闭标记并生成js。 utext
可以做任何事情。
最佳解决方案是什么?
答案 0 :(得分:0)
也许最好将 Timeline clock = new Timeline(new KeyFrame(Duration.ZERO, e -> {
Calendar cal = Calendar.getInstance();
int second = cal.get(Calendar.SECOND);
int minute = cal.get(Calendar.MINUTE);
int hour = cal.get(Calendar.HOUR_OF_DAY);
eski_minut = minute;
if(second < 10){
time_label.setText(hour + ":" + (minute) + ":0" + second);
}else if (minute < 10){
time_label.setText(hour + ":0" + (minute) + ":0" + second);
}
else {
time_label.setText(hour + ":" + (minute) + ":" + second);}
}),
new KeyFrame(Duration.seconds(1))
);
clock.setCycleCount(Animation.INDEFINITE);
clock.play();
}
划分为2个消息字符串?
Click <a href="https://here">here</a>