0

私はStruts1.3を使用しています。そのページに従業員のリストを表示しているJspページがあります。このために私がしたことは、そのアクション内にリストを返す関数を呼び出しているアクションがあり、セッション内でこれらのリストを session.setAttribute(Constant.EMPLIST,list) として設定しています。そして今、私のJspページで、ロジックタグを使用して、以下のようにこのリストを繰り返しています。

<html:form method="post" action="test.do" styleId="empForm">
  <logic:iterate id="EmpForm" name="<%=Constant.EMPLIST%>">
    <table>
     <tr>
      <td>
        <html:text property="empName" name="EmpForm" styleClass="fieldbox2" styleId="textfield50"/>

      </td>
        <td>

        <html:text property="empSal" name="EmpForm" styleClass="fieldbox3" styleId="textfield50"/>

      </td>
 </table>
</logic:iterate>
 <table>
    <tr>
      <td>
        <img onclick="updateEmpDetails" src="images/update.jpg" />
      </td>
    </tr>
  </table>
</html>

そして、すべての従業員の詳細が表示され、正常に機能しています。しかし、もう 1 つの仕事は、このページにupdateボタンがあることです。そして、私がする必要があるのは、updateEmpDetails ボタンをクリックした後です。updateAction 内で更新されたすべての従業員の詳細を送信する必要がありますが、これを行うことができません。複数の FormBean プロパティ値を処理する方法がわかりません。updateAction 内で取得できる従業員の詳細は 1 つだけです。updateAction内でこれを行っています

 EmpForm empForm = (EmpForm) form;
System.out.println("EmpId:::" + empForm.getEmpId);

可能であればこれを行う方法がわかりません リスト または複数の FormBean 値を処理する方法。これを行う方法を教えてください。例があれば、本当に感謝しています。ありがとう

更新:: これは、setter プロパティと getter プロパティを持つ私の計画の Java クラスです。

public class Sites {
    private String jobSite="";        
    private String engineerName="";
    private boolean isCheck;
}

これは私のフォームビーンです:

public class SiteToServiceForm extends org.apache.struts.action.ActionForm {


   private List<Sites> sites=new ArrayList<Sites>();

    public List<Sites> getSites() {
        return sites;
    }

    public void setSites(List<Sites> sites) {
        this.sites = sites;
    }


}

これは私の行動です:

public class SiteToServicingAction extends org.apache.struts.action.Action {
 List<Sites> siteDetails=SiteSearchDataModel.getSiteDetails(serviceForm);


        ((SiteToServiceForm) form).setSites(siteDetails);
}

表示目的で正常に機能するように、更新サイトの値を送信する必要があります。アクション内でこれを実行しています。

 List<Sites> siteList=serviceForm.getSites();
            if(siteList!=null && siteList.size()>0)
            {
                for(Sites site:siteList)
                {
                    if(site.isIsCheck()==true)
                    {
                        SiteSearchDataModel.updateRecord(serviceForm.getEngineerId(), site.getPropertyId());
                        System.out.println("properyID::::"+site.getPropertyId());
                    }
                }
            }

そして、更新リストをアクション クラスに取得できません。助けてください。

4

1 に答える 1

1

1 Action Form 2 マップ アクション フォームを用意するAction3フォームにstruts-config.xml フィールドList<Employee>を用意する 4 JSP で次のコードを使用する

<logic:iterate id="emp" indexId="i" name="FormName"
            property="employees">

 <html:text value="${FormName.employees[i].employeeName}" styleClass="fieldbox3"/>
 <html:text value="${FormName.employees[i].employeeSal}" styleClass="fieldbox3"/>

<logic:iterate>
于 2011-11-01T18:34:22.933 に答える