Гобелен: Как написать 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'".
Будем признательны за любую помощь. Спасибо.


person CodeHelp    schedule 11.07.2013    source источник


Ответы (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"/>
person sody    schedule 11.07.2013