В Struts1.3 Как обрабатывать несколько свойств FormBean в действии - PullRequest
0 голосов
/ 01 ноября 2011

Я использую 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. Я делаю это в моем обновлении. Действие

 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 Ответ

1 голос
/ 01 ноября 2011

1 имеет Action Form 2 форму действия карты для Action в struts-config.xml 3, имеет поле 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>
...