如何使用ajax动态添加jsf组件



目前我有这个代码,通过html请求动态添加组件。正如我所预料的那样。但是我想通过使用ajax请求而不是html来添加组件。

test.xhtml

    <h:dataTable value="#{testController.items}" var="item">
        <h:column><h:inputText value="#{item.name}" /></h:column>
        <h:column><h:commandButton value="remove" action="#{testController.remove(item)}" /></h:column>
    </h:dataTable>
    <h:commandButton value="add" action="#{testController.add}" />
支持bean

@ManagedBean
@ViewScoped
public class TestController implements Serializable {
    private List<Language> items = new ArrayList<Language>();
    public void add() {
        items.add(new Language());
    }
    public void remove(Language item) {
        items.remove(item);
    }
    public List<Language> getItems() {
        return items;
    }
}

现在我需要使用ajax请求来做到这一点。我该怎么做呢?

这段代码为我工作

<h:dataTable id="testTable" value="#{testController.items}" var="item">
        <h:column><h:inputText value="#{item.name}" /></h:column>
        <h:column><h:commandButton value="remove" action="#{testController.remove(item)}" /></h:column>
    </h:dataTable>
            <h:commandButton value="add" action="#{testController.add}">
                <f:ajax execute="@this" render="testTable" />
            </h:commandButton>

相关内容

  • 没有找到相关文章

最新更新