Struts2: so stellen Sie die entsprechenden Werte der ausgewählten Zeile in der VO-Klasse aus einer JSP-Bericht?
In meinem Struts2 Anwendung bin ich der Generierung eines textuellen Bericht (in jsp) mit iterator-tag wie
<table>
<tr>
<td>ID</td>
<td>PROOF</td>
<td>DELETE</td>
</tr>
<s:iterator value="listOfVOClassObjects">
<tr>
<td><s:property value="requestId" /></td>
<td><s:property value="requestChecker" /></td>
<td><s:property value="requestProof" /></td>
<td><s:checkbox name="deleteStatus" onclick="submit()"/></td>
</tr>
</s:iterator>
</table>
Wenn Benutzer klicken Sie auf Kontrollkästchen Seite legt und die Kontrolle geht an die Aktion Klasse, und ich brauche gleichzeitig die Werte der entsprechenden Zeile, die der Benutzer überprüft hat, sollte in setter-Methoden geschrieben in der VO-Klasse, so dass ich alle diese Werte in meinem handeln. Klasse.
Habe ich versucht, dieses durch das schreiben einer hidden-Feld für jeden Wert, der unter iterator-tag wie
<s:hidden name=" requestId" />
<s:hidden name=" requestChecker" />
<s:hidden name=" requestProof" />
aber nicht die Rückgabe der Werte der entsprechenden Zeile aber die Werte aller Zeilen, durch Kommas getrennt.
Ich habe auch versucht, diese durch das schreiben dieser versteckten Feldern, die außerhalb der iterator-tag und das ist null zurückgeben für jedes eingereicht.
Bitte helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie aktualisieren Sie die submit () - Methode auf, um die richtigen Werte und übergeben Sie an die Aktion.
In Ihrem javascript-Funktion, legen Sie die aktuellen Werte übermitteln. Also würden Sie so etwas haben:
Es hängt davon ab, was Sie tun. Wenn Sie neu erstellen können die Liste auf der server-Seite, dann alle Sie tun müssen, ist POST den index der Liste, die Sie wollen, in den Griff zu bekommen. Zum Beispiel:
Hätte man ein Trendsetter für die listIndex-zu "empfangen" Wert. Dies wird mit einem BEKOMMEN Sie, wenn Sie wollen eine POST, die Sie tun können, und machen die listIndex-ein verstecktes Feld.
ABER, wenn Sie können nicht neu erstellen, wird die Liste auf dem server, da der Benutzer wurde geändert, die Liste irgendwie in den browser ein, und Sie erhalten müssen, dann müssen Sie Struts2 zum erstellen der Liste auf die POST würde-Parameter. Sie tun das mit einer speziellen syntax.
Dieser Felder erstellt, die mit Namen wie myList[0].Anforderungs-id ... myList[5].requestProof. Wenn Sie einen setter für myList in Ihrer Aktion und buchen Sie diese Parameter, um die Aktion, Struts2 wird die Liste erstellen und füllen Sie die Eigenschaften der Objekte in der Liste. Sie können Generika Liste myList zu sagen, Struts2, welche Arten von "Dingen" in Ihrer Liste. Sie können auch bei Typ-Konvertierung Dokumentation für Struts2, falls Generika nicht für Sie arbeiten.