<h: form> внутри <ui: repeat> не полностью работает, обрабатывается только последняя <h: form>

Я хотел бы редактировать список элементов на той же странице. Каждый элемент должен редактироваться с использованием отдельной формы. Я создаю форму h: внутри интерфейса ui: repeat. Только после отправки последней формы пользовательский ввод применяется к управляемому компоненту. Для всех других форм пользовательский ввод не применяется к модели.

@ManagedBean
public class Controller {
    Logger logger = Logger.getLogger("TestWeb");
    private List<Customer> customerList;

    public List<Customer> getCustomerList() {
        if (customerList == null) {
            customerList = new ArrayList<Customer>();
            customerList.add(new Customer("Daffy Duck", "[email protected]"));                          
            customerList.add(new Customer("Bugs Bunny", "[email protected]"));       
            customerList.add(new Customer("Samity Sam", "[email protected]"));
        }
        return customerList;
    }
    public String updateCustomer(Customer c) {
        logger.info("Updating: " + c.getName());
        return null;
    }
}

По мнению, у меня есть

<ui:repeat var="c" value="#{controller.customerList}">
<h:form>
  <h3>Edit Customer</h3>
  Name: <h:inputText value="#{c.name}"/><br/>
  E-mail: <h:inputText value="#{c.email}"/><br/>
  <h:commandButton value="Update"
    action="#{controller.updateCustomer(c)}"/>
</h:form>
</ui:repeat>

Я часами ищу без какого-либо решения. Каков будет правильный способ сделать это? Я могу взломать его, используя одну форму и используя пользовательский интерфейс: повторить в нем. Но есть много проблем с этим, и я скорее не буду идти по этому пути. Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос