当前页面: 开发资料首页 → JSP 专题 → 小女子向各位大侠请教:Struts中向JSP传值 的问题
小女子向各位大侠请教:Struts中向JSP传值 的问题
摘要: 小女子向各位大侠请教:Struts中向JSP传值 的问题
- 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());
}
%>
最后提示参数没有传过来
你确定formlist里面有数据吗?
没有数据至少也会是个空值吧!
我不确定formlist里面有没有值啊!顺便问个傻点的问题,怎么确定有没有值啊!
ArrayList formlist = (ArrayList) dqtbo.getVOListForPages(0,
compositor);
在eclipse里断点看一下formlist是什么值,要是这里就没有值,后面就不可能有值了
System.out.print(formlist.size());
后台打印的结果是什么
System.out.print(formlist.size());
不是有这句话么?
看console上面显示的size就知道了.
request.getAttribute("***") 这句话肯定是对的,勿庸置疑了!
对阿,你看控制台打印出的System.out.print(formlist.size());值是多少啊??
肯定是“formlist”没取到值,你用IDE里面在java文件上设个断点,跟踪一下,最好用单步跟踪,看看流程对不
谢谢各位了!在各位的启发下,小女子终于不负众望发现了问题所在,实在是够低级的错误!!拿出来献丑一下!
ArrayList formlist = (ArrayList) dqtbo.getVOListForPages(0,compositor);
ArrayList formlist = (ArrayList)( dqtbo.getVOListForPages(0,compositor));
少加了一对括号,于是乎.....转型错误,formlist 是空值!于是乎.......
我晕
怎么可能是这个问题
(ArrayList) dqtbo.getVOListForPages(0,compositor);
(ArrayList)( dqtbo.getVOListForPages(0,compositor));
这两个绝对是一样的效果!
可是确实是好了!页面上也明明确确的显示出了formlist.size()的值啊!!,等我明天再看看!!