次のようなリピーターを使用するテーブル行の継ぎ目ページがあります。
<a4j:repeat id="r1279186" value="#{PatientList.entities}" var="Patient" rowKeyVar="rowIndex" >
<tr>
<td>
<a4j:commandButton action="#{PatientAction.inject(Patient)}" id="Button_1279184059161" reRender="Button_1287648925796" limitToList="true" />
</td>
<td >
<span >#{Patient.name_fam}</span>
</td>
<td >
<span >#{Patient.name_giv}</span>
</td>
<td>
<s:link id="Page_1234" action="#{PatientAction.inject(Patient)}" view="/somewhere/patient_details.seam" rendered="true" target="_blank" propagation="join" title="VIS" limitToList="true" >
<img src="images/24x24/info.png" title="VIS" alt="VIS}" style="height: 24px;width: 24px;"/>
</s:link>
</td>
</tr>
PatientAction は、inject と呼ばれるメソッドを備えた Bean であり、入力で患者クラス オブジェクトを受け取ります。PatientList.entities は List であり、オブジェクト クラスと同じ名前である Patient という名前の var でリピーターが循環します。
ページをクライアントに返す前に、seam はリスト内の各患者 (行) の名前と姓をレンダリングし、最初の列に 1 つのボタンを追加し、最後の列に 1 つのリンクを追加します。
ボタンを使用すると、ボタンをクリックしたときにアクションが実行され、ボタンを押した行に対応する患者を挿入するパラメーターを受け取ります。[わかった!]
リンクを使用すると (新しいブラウザ ページを開いて同じ会話を維持するために使用します)、クリックすると正確にメソッド inject が呼び出されますが、渡されたパラメーターは null です!! (inject メソッドのデバッグで確認できます。来ている患者は null です)