The String
class is immutable and doesn't have a setter for the value. There's nothing like String#set(newString)
or so. The getter is basically the Object#toString()
method.
You need to get/set the value directly on the List
by loop index instead. You can use the rowKeyVar
attribute to define the EL variable name of the current loop index.
<a4j:repeat value="#{implMemoMBean.objA.objB.objC.listBillNumber}" rowKeyVar="i">
<h:inputText class="list-bill" value="#{implMemoMBean.objA.objB.objC.listBillNumber[i]}" />
</a4j:repeat>
Note that you don't need a setter for the listBillNumber
. EL will get the item by List#get(index)
and set the item by List#add(index,item)
.