2016-10-02 2 views
0

В настоящее время у меня есть этот код, который динамически добавляет компоненты через запрос html. Он работает так, как я ожидал. Но я хочу добавить компоненты с помощью ajax-запроса вместо html.Как динамически добавлять компонент jsf с помощью ajax

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

Этот код работает для меня

<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> 
Смежные вопросы