- Get module name for path /querytop.do
 - Module name found: default
 - Processing a 'POST' for path '/querytop'
 -  Looking for ActionForm bean instance in scope 'request' under attribute key 'querytopForm'
-  Creating new ActionForm instance of type 'com.abc.struts.form.QuerytopForm'
  -  --> com.abc.struts.form.QuerytopForm@1c20611
-  Storing ActionForm bean instance in scope 'request' under attribute key 'querytopForm'
-  Populating bean properties from this request
 - BeanUtils.populate(com.abc.struts.form.QuerytopForm@1c20611, {compositor=[Ljava.lang.String;@11c5c88})
-   setProperty(com.abc.struts.form.QuerytopForm@1c20611, compositor, [40])
- Convert string '40' to class 'int'
 -   Using converter org.apache.commons.beanutils.converters.IntegerConverter@ec366a
- setSimpleProperty: Invoking method public void com.abc.struts.form.QuerytopForm.setCompositor(int) with value 40 (class java.lang.Integer)
-  Validating input form properties   
-   No errors detected, accepting inpu
-  Looking for Action instance for cla
-   Returning existing Action instance
- processForwardConfig(ForwardConfig[name=list,path=/dnsstatus/dns_querytop.jsp,redirect=false,contextRelative=false,module=null])                                                                                    
- servletPath=/dnsstatus/dns_querytop.jsp, pathInfo=null, queryString=null, name=null 
-  Path Based Forward                                                                 
-  Disabling the response for futher output                                           
以上是日志
我的action部分代码是:
try {
Dns_queryTopBO dqtbo = new Dns_queryTopBO();
                           int compositor = querytopForm.getCompositor();
ArrayList formlist = (ArrayList) dqtbo.getVOListForPages(0,
compositor);
System.out.print(formlist.size());

request.setAttribute("formlist", formlist); return mapping.findForward("list");
} catch (Exception e) {
e.printStackTrace();
/**
 * 如果编辑操作失败,则定向到失败页面
 */ return mapping.findForward("failure");
}
}
}
JSP页面的代码是:
<% 
Collection col=(Collection)request.getAttribute("formlist");
if(col==null || col.isEmpty()){
out.print("参数没有传过来");
}else{
out.print("参数长度为" + col.size());
}
%>
最后提示参数没有传过来

解决方案 »

  1.   

    我不确定formlist里面有没有值啊!顺便问个傻点的问题,怎么确定有没有值啊!
      

  2.   

    ArrayList formlist = (ArrayList) dqtbo.getVOListForPages(0,
    compositor);
    在eclipse里断点看一下formlist是什么值,要是这里就没有值,后面就不可能有值了
      

  3.   

    System.out.print(formlist.size());
    后台打印的结果是什么
      

  4.   

    System.out.print(formlist.size());不是有这句话么? 看console上面显示的size就知道了. request.getAttribute("***") 这句话肯定是对的,勿庸置疑了!
      

  5.   

    对阿,你看控制台打印出的System.out.print(formlist.size());值是多少啊??
      

  6.   

    肯定是“formlist”没取到值,你用IDE里面在java文件上设个断点,跟踪一下,最好用单步跟踪,看看流程对不
      

  7.   

    谢谢各位了!在各位的启发下,小女子终于不负众望发现了问题所在,实在是够低级的错误!!拿出来献丑一下!
    ArrayList formlist = (ArrayList) dqtbo.getVOListForPages(0,compositor);
    ArrayList formlist = (ArrayList)( dqtbo.getVOListForPages(0,compositor));
    少加了一对括号,于是乎.....转型错误,formlist 是空值!于是乎.......
      

  8.   

    我晕
    怎么可能是这个问题(ArrayList) dqtbo.getVOListForPages(0,compositor);(ArrayList)( dqtbo.getVOListForPages(0,compositor));这两个绝对是一样的效果!
      

  9.   

    可是确实是好了!页面上也明明确确的显示出了formlist.size()的值啊!!,等我明天再看看!!