Гобелен: Как написать HTML со страницы Java
Мне нужно написать HTML со своей страницы.java. Вот что я пробовал
Это мой фрагмент кода TML
${testFunction()}
Это мой фрагмент кода Java
public String testFunction()
{
return "<input type='checkbox' name='leaf' id='leaf' value='leaf'/>"
}
Результат, который я хочу, это флажок. Я получаю строку "input type =" checkbox "name =" leaf "id =" leaf "value =" leaf "".
Любая помощь будет оценена Спасибо.
1 ответ
Решение
Если вы хотите отобразить строку как html, вам нужно использовать метод MarkupWriter#writeRaw():
void beginRender(MarkupWriter writer) {
writer.writeRaw("<input type='checkbox' name='leaf' id='leaf' value='leaf'/>");
}
Или вы можете использовать компонент OutputRaw:
<t:outputraw value="testFunction()"/>
Или вы можете использовать Renderable для написания разметки:
@Property(write = false)
private final Renderable checkbox = new Renderable() {
public void render(MarkupWriter writer) {
writer.element("input",
"type", "checkbox",
"id", "leaf",
"name", "leaf",
"value", "leaf");
writer.end();
// if you need checked attribute
// writer.getElement().attribute("checked", "checked");
}
};
И по шаблону:
<t:delegate to="checkbox"/>