2013-07-11 32 views
1

我需要从我的.java页面编写HTML。以下是我已经尝试挂毯:如何从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'”。
任何帮助,将不胜感激谢谢。

回答

1

如果要呈现的字符串作为HTML你需要使用MarkupWriter#writeRaw()方法:

void beginRender(MarkupWriter writer) { 
    writer.writeRaw("<input type='checkbox' name='leaf' id='leaf' value='leaf'/>"); 
} 

或者你可以使用OutputRaw组件:

<t:outputraw value="testFunction()"/> 

或者您可以使用渲染写标记:

@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"/>