严重: Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: Cannot find bean [com.yeecai.vo.SmFunctionVo@193a6a5, com.yeecai.vo.SmFunctionVo@a1a199, com.yeecai.vo.SmFunctionVo@1787144, com.yeecai.vo.SmFunctionVo@545646, com.yeecai.vo.SmFunctionVo@ec2ea8] in any scope
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:934)
at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:232)
at org.apache.jsp.left_jsp._jspService(left_jsp.java:95)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)// 作用域中已经保存了
st<SmFunctionVo> functions = functions = smFunctionImpl.getAll();
for(int i=0;i<functions.size();i++){
System.out.println(functions.get(i).getFunctionname());
System.out.println(functions.get(i).getFid());
System.out.println(functions.get(i).getTarget());
System.out.println(functions.get(i).getUrl());
System.out.println(functions.get(i).getParentid());
}
HttpSession session = request.getSession();
session.setAttribute("functions", functions);
javax.servlet.jsp.JspException: Cannot find bean [com.yeecai.vo.SmFunctionVo@193a6a5, com.yeecai.vo.SmFunctionVo@a1a199, com.yeecai.vo.SmFunctionVo@1787144, com.yeecai.vo.SmFunctionVo@545646, com.yeecai.vo.SmFunctionVo@ec2ea8] in any scope
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:934)
at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:232)
at org.apache.jsp.left_jsp._jspService(left_jsp.java:95)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)// 作用域中已经保存了
st<SmFunctionVo> functions = functions = smFunctionImpl.getAll();
for(int i=0;i<functions.size();i++){
System.out.println(functions.get(i).getFunctionname());
System.out.println(functions.get(i).getFid());
System.out.println(functions.get(i).getTarget());
System.out.println(functions.get(i).getUrl());
System.out.println(functions.get(i).getParentid());
}
HttpSession session = request.getSession();
session.setAttribute("functions", functions);
上面已经说的很清楚了
找不到bean,
你检查一下com.yeecai.vo.SmFunctionVo,这个VO类(看你最后有Vo)是否满足javaBean的条件,
即是:属性为private,get/set为public(至少get为public),并且注意get方法属性名首字母要大写
有问题再说,关注ing!
Cannot find bean [com.yeecai.vo.SmFunctionVo@193a6a5, com.yeecai.vo.SmFunctionVo@a1a199, com.yeecai.vo.SmFunctionVo@1787144, com.yeecai.vo.SmFunctionVo@545646, com.yeecai.vo.SmFunctionVo@ec2ea8] in any scope 看这3句话就可以 了,
com.yeecai.vo在这个包下的SmFunctionVo@a1a199 bean中有bean被你调用但是这个bean却没有找到。
其原因很可能是你在页面上的bean笔误写错。仔细核对下你的bean是否不一致。
同意,同时检查一下是否为null
关注ing!
在作用域中找不到那个bean,确定一下是否将bean存入了相应的作用域
不同观点!!
刚开始,我以为也是 bean 没有找到。。宽泛了些,再一看:
里头的 com.yeecai.vo.SmFunctionVo@193a6a5 表明你的 SmFunctionVo 对象已经放置到了集合中。
那么,难道是集合没有被找到吗?如果集合没有被找到,那么也不会有这个集合的形式出现。请楼主尝试在使用 functions 时,明确指定作用域。
比如 <c:foreach items="${session.functions}">