【问题标题】:How to hold data when page is reloading in jsp struts2在jsp struts2中重新加载页面时如何保存数据
【发布时间】:2013-03-27 13:14:19
【问题描述】:

我已经从数据库中为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 来做到这一点吗?

【问题讨论】:

    标签: database list jsp struts2 hashmap


    【解决方案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");
     }
    

    【讨论】:

    • 如果您认为我的回答解决了您的问题。请考虑接受我的回答
    • 什么是我的 arrayllist 和 hodkarraaylist。我只有一个数组列表。我只有一个数组列表。但我在我的会话中有价值观。这是我尝试过的方式。 'if(!session.containsKey(pcinitiladataList)) { session.put(getSessionKey("userName"),pcinitiladataList); } 列表 pcinitiladataListjj; pcinitiladataListjj=(列表)session.get(pcinitiladataList); '
    • 什么是我的 arrayllist 和 hodkarraaylist。我只有一个数组列表。我只有一个数组列表。但我在我的会话中有价值观。这是我尝试过的方式。 `if(!session.containsKey(pcinitiladataList)) { session.put(getSessionKey("userName"),pcinitiladataList); } 列表 pcinitiladataListjj; pcinitiladataListjj=(列表)session.get(pcinitiladataList); ' 但这给出了一个错误.. Nulpointer 异常
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 2014-01-18
    • 1970-01-01
    相关资源
    最近更新 更多