读书人

关于页面传值和导出的有关问题

发布时间: 2012-01-11 22:28:46 作者: rapoo

关于页面传值和导出的问题
情况是这样:我在后台ACTION中从TXT文件中读取了所有的数据组成了一个list,并且我把这个list中错误的数据拿了出来组成另一个wringlist

Java code
fileList = ReadExcelForKeeprepair.getInfoForCompany(is,this.sessionContainer,this.clazz.toString());                for(int i=0;i<fileList.size();i++)                {                    boolean flag = true;                    CompanyConsignmentReceiveInfo cpInfo = new CompanyConsignmentReceiveInfo();                    cpInfo = (CompanyConsignmentReceiveInfo) fileList.get(i);                    if((cpInfo.getMachineNo().length()) != 9 || "".equals(cpInfo.getMachineNo()))                    {                        cpInfo.setMachineNo(cpInfo.getMachineNo()+"(错误)");                        cpInfo.setWringid(i+1);                        flag = false;                    }                    if("".equals(cpInfo.getConsignmentDate()) || cpInfo.getConsignmentDate().length() != 10)                    {                        cpInfo.setConsignmentDate(cpInfo.getConsignmentDate()+"(错误)");                        cpInfo.setWringid(i+1);                        flag = false;                    }                    if("".equals(cpInfo.getItemcode()))                    {                        cpInfo.setItemcode(cpInfo.getItemcode()+"(错误)");                        cpInfo.setWringid(i+1);                        flag = false;                    }                    if("".equals(cpInfo.getDealerCode()))                    {                        cpInfo.setDealerCode(cpInfo.getDealerCode()+"(错误)");                        cpInfo.setWringid(i+1);                        flag = false;                    }                    if("".equals(cpInfo.getContractNo()))                    {                        cpInfo.setContractNo(cpInfo.getContractNo()+"(错误)");                        cpInfo.setWringid(i);                        flag = false;                    }                    if(flag==false)                    {                        wringfilelist.add(cpInfo);                    }                }                if(wringfilelist.size()!=0)                {                    request.setAttribute("wringfilelist", wringfilelist);                    return getMyselfForward(mapping, applyForm, request, response);                }

我把这个wringlist通过request传到了页面并且用logic:iterate标签遍历显示了出来
HTML code
<logic:present name="wringfilelist" scope="request">                             <logic:iterate id = "result_exam" name = "wringfilelist" >                                        <%if(i % 2 == 0 ){ %>                                        <tr class="table_c1">                                        <%}else{ %>                                        <tr class="table_c2">                                        <%} %>                                                                                                                                    <td style="word-wrap: break-word; word-break: break-all"><bean:write name='result_exam' property='wringid'/></FONT></td>                                            <td style="word-wrap: break-word; word-break: break-all"><bean:write name='result_exam' property='machineNo'/></td>                                            <td style="word-wrap: break-word; word-break: break-all"><bean:write name='result_exam' property='itemcode'/></td>                                            <td style="word-wrap: break-word; word-break: break-all"><bean:write name='result_exam' property='contractNo'/></td>                                            <td style="word-wrap: break-word; word-break: break-all"><bean:write name='result_exam' property='dealerCode'/></td>                                            <td style="word-wrap: break-word; word-break: break-all"><bean:write name='result_exam' property='consignmentDate'/></td>                                        </tr>                                        <%i = i+1; %>                            </logic:iterate>                     </logic:present>                    </table> 


我遇到的问题是,我现在要用这个wringlist到后台进行导出操作,那么我在后台要怎么得到这个wringlist呢?这个wringlist并不是数据库里的数据,是从list里读取出来的错误的数据不能入库,而list的话因为有wringlist的存在所以也不能入库,所以导出时在数据库里捞一遍数据在导出是不可能的,我在网上查了一下,有2种方法一种说用session,但是说用session的太精简了。完全不知怎么用。一种说定义一个全局变量的,我试了一下报空指针异常。
其实在后台我用的是同一个action,但是方法不同,最简单的说法就是
在一个action里,我有2个方法fun1,fun2。在fun1里有一个list,我把这个list传到了页面1.jsp,然后我在1.jsp中调用了fun2,而fun2中使用了这个list。
这个list在页面没有改变。如果可以高手大大们可以直接跳过1.jsp直接在action里调用。在线求解答。

[解决办法]
你不就想得到wringfilelist这个吗 你写个方法 直接返回这个不就行了吗 然后new一个类 直接调用
大体是这样
Java code
class A (){ List wringfilelist(){  return wringfilelist;}}你用得时候 A a=new A();List b=A.wringfilelist ;不就可以了?希望能给你点启发。 

读书人网 >Java Web开发

热点推荐