私はActionForm
(RevisionActionForm)を持っています。これはDB2から入力してページに表示しています。このフォームはさまざまなフィールドといくつかの他のクラスを含むクラスとArrayList
を持っています。ページが正常に読み込まれ、すべてが表示されますが、ページが送信されると、フォームにはArrayList
要素がなくなります(他のフィールドはすべて期待通りに読み込まれます)。私はこの問題は、ArrayList
がビルドされているが、値が格納される要素が存在しないことを前提としています。以下は関連するコードセグメントです(私はこの記事を減らすために無関係です) 。StrutsのArrayList 1 ActionFormにデータが入力されていません
JSP
<logic:notEmpty name="revisionBean" property="revisionData.reasonsData">
<div>
</div>
<div style="vertical-align: top; text-align: left; font-size: 15px">
<strong> 604 Information </strong>
</div>
<logic:iterate id="reqReas" name="revisionBean" property="revisionData.reasonsData" indexId="reqReasIdx">
<div>
<ao:text name="reqReas" property="reasonCodeId" indexed="true"
label="Reason Code ID ${reqReasIdx+1}: "
size="5" maxlength="5" disabled="true"/>
</div>
<div>
<ao:text name="reqReas" property="priorityOrNum" indexed="true"
label="Priority Or Num ${reqReasIdx+1}: "
size="2" maxlength="2" disabled="true"/>
</div>
</logic:iterate>
</logic:notEmpty>
のActionForm
public class RevisionActionForm extends BaseActionForm{
/**
* Transfer object for the Revision information.
*/
private RevisionTO revisionData = new RevisionTO();
public RevisionActionForm() {
}
public RevisionTO getRevisionData(){
return revisionData;
}
public void setRevisionData(RevisionTO revisionData){
this.revisionData = revisionData;
}
}
RevisionTOが
public class RevisionTO implements Serializable {
private ArrayList<RevisionReasonsTO> reasonsData = new ArrayList<RevisionReasonsTO>();
public RevisionTO() {
}
public ArrayList<RevisionReasonsTO> getReasonsData() {
return reasonsData;
}
public RevisionReasonsTO getReasonData(int index) {
if (reasonsData == null) {
reasonsData = new ArrayList<RevisionReasonsTO>();
}
while (index >= reasonsData.size()) {
reasonsData.add(new RevisionReasonsTO());
}
return reasonsData.get(index);
}
public void setReasonsData(ArrayList<RevisionReasonsTO> reasonsData) {
this.reasonsData = reasonsData;
}
}
処置 パブリッククラスRevisionAction {
アクションを拡張(ArrayListのが成り立ちます)私はネットで研究していて、先週は成功せずに実験しました。私はこれが明らかな場合はお詫びしますが、私はJavaでちょっと錆びていて、Strutsには新しいです。すべての助けをいただければ幸いです。