Я новичок в JSF, и у меня возникла проблема.
У меня есть вложенные данные и существует inputText для actor.name.Когда я вывести actor.name в качестве значения по умолчанию для inputText, значение в порядке.Когда я отправляю его в командную кнопку, значение action.name является значением по умолчанию, а не новым именем, которое я набрал в inputText.Может быть, невозможно изменить значения объекта, переданного от другого объекта с отношением ManyToMany?
Вот пример кода JSF.Все работает нормально, пока не пришло время проходить через CommandButton, где значение actor.name является старым, а не новым значением, переданным контроллеру.
<p:dataTable id="movie_" var="movie" value="#{movieActorController.getAllMovie()}" style="width: 90%">
<p:column headerText="Movie" >#{movie.name}</p:column>
<p:column headerText="ID" >#{movie.idtable1}</p:column>
<p:column>
<p:dataTable id="movie_actor" var="actor" value="#{movie.actors}" style="width: 90%">
<p:column headerText="Actor" >
<p:inputText id="actor" value="#{actor.name}" required="true" requiredMessage="Actor is required" validatorMessage="Wrong format for actor">
<f:validateRegex for="actor" pattern="[a-z0-9åäöÅÄÖ,\s]+" />
</p:inputText>
<h:message for="actor" style="error"></h:message>
</p:column>
<p:column headerText="ID" >#{actor.id}</p:column>
<p:column><p:commandButton action="#{movieActorController.changeActor(actor)}" value="Change name:"/></p:column>
</p:dataTable>
</p:column>
</p:dataTable>