FormBean の値を List に保存し、それを Session に保存し、JSP を使用してさまざまな FormBean 値のリストを繰り返し処理したいと考えています<logic:iterate>
。リストまたは FormBean の値を繰り返すことはできます<logic:iterate>
が、両方を組み合わせて行うことはできません。
私はこれを試しました。
<table width="75%" border="0" cellspacing="1" cellpadding="0">
<logic:iterate id="myId" name="sessionData" property="getInsuredPhoneList">
<tr>
<td width="25%"> <bean:write name="myId"/> </td>
</tr>
</logic:iterate>
</table>`
JSP を表示するためのアクション クラス:
List<String> getInsuredPhoneList = new ArrayList<String>();
getInsuredPhoneList.add("");
getInsuredPhoneList.add("");
getInsuredPhoneList.add("");
getInsuredPhoneList.add("");
getInsuredPhoneList.add("");
sessionData.setGetInsuredPhoneList(getInsuredPhoneList);
JSP を処理するためのアクション クラス:
InsuredPhoneFormBean partyForm1=(InsuredPhoneFormBean)actionForm;
String type=partyForm1.getPhoneTypeCode();
String area=partyForm1.getAreaCode();
String landlineNumber=partyForm1.getLandlineNumber();
String mobileNumber=partyForm1.getMobileNumber();
String email=partyForm1.getEmailAddress();
SessionData sessionData=getSessionData(request);
List<String> getInsuredPhoneList = new ArrayList<String>();
getInsuredPhoneList.add(type);
getInsuredPhoneList.add(area);
getInsuredPhoneList.add(landlineNumber);
getInsuredPhoneList.add(mobileNumber);
getInsuredPhoneList.add(email);
sessionData.setGetInsuredPhoneList(getInsuredPhoneList);
私の出力は次のとおりです。
住宅 9988009988 abc@gmail.com
ここでgetInsuredPhoneList
、FormBean 値 ( Residential 9988009988 abc@gmail.com
、Office 9970009988 xyz@yahoo.com
) の複数のインスタンスを保存し、それを反復処理したいgetInsuredPhoneList
、そのような
<table>
<logic:iterate id="myId" name="sessionData" property="getInsuredPhoneList">
<tr>
<td width="25%"> <bean:write name="myId" property="abc"/> </td>
</tr>
<tr>
<td width="25%"> <bean:write name="myId" property="xyz"/> </td>
</tr>
<tr>
<td width="25%"> <bean:write name="myId" property="pqr"/> </td>
</tr>
</logic:iterate>
</table>
(property="pqr" は FormBean のプロパティの 1 つを意味します) と出力のように:
Residential 9988009988 abc@gmail.com
Office 9970009988 xyz@yahoo.com