1

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.comOffice 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

4

1 に答える 1

0

あなたのコードはめちゃくちゃなので、あなたが求めていることを正確に理解することはできません。しかし、これは一般的な概念です。

1) オブジェクトを作成し、アクション クラスのリストに追加します ( Contactsoffice、tel、mail の 3 つのプロパティを持つオブジェクトがあるとします)。

//in Action class  
Contacts myContact = new Contacts();
myContact.setOffice("office1");
myContact.setTel("123454");
myContact.setMail("xx@xx.com");

List<Contacts> myList = new ArrayList<Contacts>();
myList.add(myContact);
//You can add more Objects to List here

2) リスト オブジェクトを設定してrequest、後で JSP でアクセスできるようにします。

request.setAttribute("PHONE_LIST",myList);

3)JSPでは、からリストを取得し、requestそれを繰り返して結果を表示する必要があります

//in JSP
<table>  
 <logic: iterate id="dataObject" name="myForm" property="PHONE_LIST">  
 <tr>  
   <td><bean: write name="dataObject" property="office" /></td>  
   <td><bean: write name="dataObject" property="tel" /></td>  
   <td><bean: write name="dataObject" property="mail" /></td>  
 </tr>  
 </logic: iterate>  
</table>  

お役に立てれば

于 2012-10-17T06:14:40.183 に答える