目前我有这个代码通过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}" />
支持豆
@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请求来执行此操作。我怎么能这样做?
答案 0 :(得分:0)
这段代码对我有用
<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>