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根本没有传到前台啊。亲 我是照着源码改的 哪里错了
<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根本没有传到前台啊。亲 我是照着源码改的 哪里错了
然后把jsp内容全删了,随便加句话,看进没进jsp
如果这些都没问题,再找list传值有没问题
我怀疑你的请求根本没有进入action中
<?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没改过
严重: 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)菊花散落一地啊
应该先进入action再从action进jsp
你直接进jsp又没用的
<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写在哪里,再查查路径有没写错
http://topic.csdn.net/u/20111023/00/d840155a-364a-4c5b-bb0f-6caaf522de1b.html?seed=957955588&r=76140886#r_76140886 新帖大神帮看看
谢谢大神写了这么多在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>的 为什么不运行我也不知道、、、
scope="request">
{
String str=(String)iter.next();
System.out.println(str);
}
还有你web.xml里面这句<url-pattern>*.do</url-pattern>我建议把里面的"*.do"改成/*
在这个域里面都找不到bean,是不是你页面上面的action是post? 把这个scope去掉下试试看行不? 正常的应该没事的!
这样的话直接启动tomcat后页面刷不出来