在Struts 1.3中如何处理多个表单Bean属性的操作

时间:2011-11-01 18:23:58

标签: jsp jsp-tags struts1

我正在使用Struts1.3,我有Jsp页面,显示该页面上的员工列表。为此,我做的是,我在该操作中有一个动作我正在调用一个返回List的函数,我在会话中将这些列表设置为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>

它显示了所有员工的详细信息并且工作正常。但还有一项工作是在这个页面上我有一个update按钮。我需要做的是点击updateEmpDetails按钮后。我需要在updateAction中发送所有员工更新的详细信息,但我无法做到这一点,我不知道如何处理多个FormBean属性值。我只能在updateAction中获取一个Employee详细信息。我在updateAction中执行此操作

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

如果可能,我不知道如何执行此操作List或如何处理多个FormBean值。请指导我如何做到这一点,如果有任何例子请它真的很感谢我。 感谢

更新:: 这是我的计划java类,带有setter和getter属性:

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

这是我的FormBean:

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());
                    }
                }
            }

我无法将更新列表添加到我的动作类中,请帮助我。

1 个答案:

答案 0 :(得分:1)

1有Action Form  2 Action struts-config.xml中的List<Employee>地图操作表单  3表单中有一个字段<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>  4关于JSP使用以下代码

{{1}}