[SelectItems value(herkunft bean)] in [UI:repeat] lädt daten nicht neu nach

Status
Nicht offen für weitere Antworten.

Shulyn

Bekanntes Mitglied
Guten Tag,

ich, wir (J.A und ich) haben schon wieder ein Problem :(
Es ist nicht so einfah zu erklären, ich Poste einfach mal den quellcode:

HTML:
<ui:repeat value="#{frageList.resultList}" var="frage">
<s:div rendered="#{frage.idFrage == item3.id.frkIdFragen}">
<h:outputText value=" #{ frage.frageText } "/>
                                
#{frage.idFrage}  <!-- kontroll wert -->
<s:div rendered="#{(frage.frageTyp == 0)}">                                
<h:selectOneRadio required="#{frage.fragePflicht}" 
  valueChangeListener="#{Ergebnis.save}" 
 style="font-size:14px;" layout="pageDirection">
<s:selectItems value="#{antwortList.getRes(frage.idFrage)}" 
 label="#{fha.antwortText}" var="fha"/>
</h:selectOneRadio>
</s:div>
</s:div>
(Ist nur ein Ausschnitt vom code, also falls z.b etwas nicht geschlossen sein sollte o.ä. ignoriert es ;) )

So also wir geben einen Fragetext + die passenden Antworten aus, und wiederhohlen dies, bis wir duch die Liste sind!
Dies macht unser Seite auch. Nur werden die Daten die im value vom SelectItems stehen nicht neu Geladen, bei einem erneuten durchlauf :(

Hier mal eine ausgabe wie wir Sie bekommen!

selectitemsfehler.jpg


die kleine 73 und 74 sind die ID's der Frage! Jedoch gehören zu Frage ID 74 die Antworten [Antwort 4 / 5 / 6 ].
Also das SelectItems wurde nicht neu geladen, sondern hat die Daten es ersten durchlaufs benutzt.

Jemand eine Idee wie wir die Daten Dynamisch neu laden können?

Vielen Dank im vorraus!

J.A. und Shulyn
 

Shulyn

Bekanntes Mitglied
Hallo nochmal,

So wir haben mal alles ausführlich im Debug laufen lassen...
Also
HTML:
<s:selectItems value="#{antwortList.getRes(frage.idFrage)}"
wir korrekt mir neuen Werten gefüllt, beim 2. oder 3. durchlauf!
Das heisst wir bekommen die Richtigen Objekte, wenn wir speichern werden auch die Richtigen werte in die Db geschrieben.

JEDOCH! Das "var" wird beim 2. oder 3. durchlauf nicht Refreshed ;(
So nun unsere NEUE frage, wie geben wir dem Laben am besten den Wert aus Value ohne VAR zu benutzen?

MfG

Shulyn
 

gex

Bekanntes Mitglied
Hallo

Ich nehme an ihr arbeitet mit Facelets, da ui:repeat.
Habt ihr das schon mal mit einer anderen Iteration Konstrukt anstelle von ui:repeat versucht?
Bspw. h:dataTable, t:dataList, oder hat Seam auch noch was?

Evtl. macht euch das Facelet Tag Probleme, wenn denn das s:selectItem aufgrund dieses Konstrukts zu
statisch initialisert (hatte auch schon mal Probleme mit zu exzessiven Facelet-Tags).
 

Shulyn

Bekanntes Mitglied
Hmm ok,

Danke für den Tip, ich werde mal versuchen andere möglichkeiten ausser <ui:repeat> zu benutzen.
Und ja ich benutze sehr viele faclet Tags, auch teilweise "wild" ineinadner verschachtelt.

Ich werde da mal ein wenig "Ordnung" reinbringen.

MfG

Shulyn
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben