struts xml配置        <action-mappings>
            <action path="/news" type="com.network.struts.action.NewsAction" scope="request">
       <forward name="success" path="/category/news/index.jsp"/>
    </action>        </action-mappings>
action中public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
    //省略若干
request.setAttribute("list", newMap.get("list")); return (mapping.findForward("success"));
}jsp中 有iterator的导入<logic:iterate id="news" name="list" type="com.network.model.News">
如果在jsp中写ArrayList   arr   =(ArrayList)request.getAttribute("list");
Iterator   it=   arr.iterator();
while(it.hasNext())
{out.println(it.next().toString());}还是显示Cannot find bean list in any scope说明list根本没有传到前台啊。亲 我是照着源码改的 哪里错了

解决方案 »

  1.   

    在action里面设置system out 标记表示程序也没运行到action里面  这。
      

  2.   

    action没有走那你struts没配置成功。看看web.xml里配置ActionServlet对了没,jar包引全了没!
      

  3.   

    先action输出一下,看进没进action 
    然后把jsp内容全删了,随便加句话,看进没进jsp
    如果这些都没问题,再找list传值有没问题
      

  4.   

    看看你的struts配置文件里面的接收请求字符串和页面过去的请求字符串是否对应。要不就看看web.xml中的客户端请求是否进入了strust的action接收范围
    我怀疑你的请求根本没有进入action中
      

  5.   


    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>debug</param-name>
          <param-value>3</param-value>
        </init-param>
        <init-param>
          <param-name>detail</param-name>
          <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
      
      <welcome-file-list>
       <welcome-file>/category/news/index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    就是自动生成的xml没改过
      

  6.   


    严重: Servlet.service() for servlet jsp threw exception
    javax.servlet.jsp.JspException: Cannot find bean list in any scope
    at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:992)
    at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:234)
    at org.apache.jsp.category.news.index_jsp._jspService(index_jsp.java:211)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    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:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    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:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)
    2011-10-22 10:59:07 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet jsp threw exception
    javax.servlet.jsp.JspException: Cannot find bean list in any scope
    at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:992)
    at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:234)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:114)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    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:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    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:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)菊花散落一地啊
      

  7.   


    应该先进入action再从action进jsp
    你直接进jsp又没用的
      

  8.   

     <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    你跳action要用XXX.do来进到struts xml文件
    比如news.do跳到<action path="/news" type="com.network.struts.action.NewsAction" scope="request">
    然后进到com.network.struts.action.NewsAction
    再在这个action类,放入list,通过return (mapping.findForward("success"));跳到<forward name="success" path="/category/news/index.jsp"/>
    最后从/category/news/index.jsp里取出list
    你都没进action,而list是在action里面设定的,那list当然没设成功了,你问题出在action跳转上,你news.do写在哪里,再查查路径有没写错
      

  9.   


    http://topic.csdn.net/u/20111023/00/d840155a-364a-4c5b-bb0f-6caaf522de1b.html?seed=957955588&r=76140886#r_76140886 新帖大神帮看看
      

  10.   


    谢谢大神写了这么多在struts-config.xml中写了<form-bean name="newsForm" 
                type="com.network.struts.form.NewsForm"/>
    <action input = "/category/news/index.jsp"
    path="/news"
    type="org.springframework.web.struts.DelegatingActionProxy"
    name="newsForm"
    parameter="method"
    scope="request"
    validate="false">
    <forward name="success" path="/category/news/index.jsp" />
    </action>的 为什么不运行我也不知道、、、
      

  11.   

    <logic:iterate id="news" name="list" type="com.network.model.News"
    scope="request">
      

  12.   

    我觉得java code里面应该是:for(Iterator iter=I.iterator();iter.hasNext())
    {
      String str=(String)iter.next();
      System.out.println(str);
     }
    还有你web.xml里面这句<url-pattern>*.do</url-pattern>我建议把里面的"*.do"改成/*
      

  13.   

    错误提示,javax.servlet.jsp.JspException: Cannot find bean list in any scope
    在这个域里面都找不到bean,是不是你页面上面的action是post?    把这个scope去掉下试试看行不?   正常的应该没事的!
      

  14.   


    这样的话直接启动tomcat后页面刷不出来