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 リストが null になることです。これはロードボタンクリックのコードです。

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がnullになりました。更新プロセスが完了するまでそのデータを保持する方法はありますか? 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 に答える