1

我已经从数据库加载数据ArrayList。然后我使用该数据进行更新过程。我正在搜索并将数据加载到ArrayList. 这是搜索时加载数据的代码。

System.out.println("In search job method");

    region ="TEST";
    PcinitialdataEjb pcinEjb=new PcinitialdataEjb(region);
    pcinitiladataList = new ArrayList<Pcinitialdata>();

    System.out.println(hiddentableRadioButtonValue+"**************************************************************************");

    if(idSearchType.equalsIgnoreCase("comRef"))
    {
        pcinitiladataList=pcinEjb.getDataForEstNumber("510.00/EBS/12/0031","Commercial");
        System.out.println(idSearchType);
    }
    else if(idSearchType.equalsIgnoreCase("constructRef"))
    {

        pcinitiladataList=pcinEjb.getDataForEstNumber("510.00/EBS/12/0031","customerRef");
    }
    else if(idSearchType.equalsIgnoreCase("projJobNo"))
    {

        pcinitiladataList=pcinEjb.getDataForEstNumber("510.00/EBS/12/0031","projNoJobNo");
    }


    Pcinitialdata aa=new Pcinitialdata();
    aa.setDecrp("doorwerfxcv");
    pcinitiladataList.add(aa);
    System.out.println(pcinitiladataList.toString());
    for(int i = 0; i < pcinitiladataList.size(); i++) {   

        if(i==0)
        System.out.print(pcinitiladataList.get(i));


        if(i==1)
        System.out.print((String)pcinitiladataList.get(i).getDecrp());
    }

此代码完美运行。我的问题是在我将数据加载到 jsp 表之后,然后我使用单选按钮选择原始数据。然后我单击加载按钮将数据加载到界面。但我的问题是当我单击加载按钮时,pcinitialdata 列表变为空。这是加载按钮单击的代码。

public String loadValuesForPage()
{
    if(pcinitiladataList.equals(null))
    {

        String resrult=searchJob();
    }

    for(int i = 0; i < pcinitiladataList.size(); i++) {   
        if((hiddentableRadioButtonValue.equalsIgnoreCase(pcinitiladataList.get(i).getEstNo())))
        {

            Pcinitialdata estNoObject=new Pcinitialdata();
            estNoObject=pcinitiladataList.get(i);

            fileNo=estNoObject.getEstNo();
        }
    }


    return SUCCESS;
}

在完成更新过程之前如何保存数据?

当我单击更新按钮时,我的 arrayList 变为空。在我完成更新过程之前,有什么方法可以保存这些数据。我可以使用 Hoshmap 来做到这一点吗?

4

1 回答 1

1

简单的!将您的数据存储到会话中,并在更新完成后从会话中删除您的数据。

在此示例中,我将带有名称的数组列表存储myarrayList 到带有键名称的会话中 holdarrylist

 if ( !session.containsKey(holdarrylist) ) 
{
// Place the arraylist into the session  eg. myarrayList  
session.put(myarrayList, holdarrylist); //myarrayList is your arraylist ato be kept in the session with the name  holdarrylist 
} else {

    ArrayList<Integer> list = (ArrayList<Integer>) session.get("holdarrylist");
     list.add( 1 /* Do here what ever you want */);
// Retrieve session data

    --------------
    //--do your updation work----
    //after remove the arraylist from session  
    //session.remove("holdarrylist");
 }
于 2013-04-05T08:40:56.833 回答