1

我需要从我的 .java 页面编写 HTML。这是我尝试过的

这是我的 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'”。
任何帮助将不胜感激谢谢。

4

1 回答 1

2

如果要将字符串呈现为 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"/>
于 2013-07-11T08:46:53.367 回答