Гобелен: Как написать 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"/>
Другие вопросы по тегам