页面jstl标签的<c:forEach > 不能循环出任何值    当把下面这段注释掉之后才能循环出列表值
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping> 
可是注释这段代码之后直接访问含有struts2标签的jsp页面会报错,经过action跳转到含有struts2标签的jsp页面才不报错WEB.XML中的struts2配置:
<!-- 配置Struts2 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.dianxue.action.admin</param-value>
</init-param>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping> 

解决方案 »

  1.   

    不冲突,要使用strusts2的标签必须经过action!
      

  2.   

    <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>*.jsp</url-pattern>
            <dispatcher>REQUEST</dispatcher>
            <dispatcher>FORWARD</dispatcher>
        </filter-mapping>我很佩服你的勇气,我也只是想想而已,你居然真的这么配置了。这么配置肯定会出问题的
      

  3.   

     不经过action的话 不要用struts标签吗  这是为什么呢  
      

  4.   

    这么配置之后你的Struts会拦截所有以 .jsp结尾的请求,如果页面请求的是一个jsp页面,Struts会当作一个action去匹配,找不到action的时候,应该会报错吧当然这只是我的一个设想而已,没有去尝试
      

  5.   

    包含!   现在的问题是struts2加上jsp的拦截之后,jstl标签用不了了
      

  6.   

    难道你不是配置的*.action 么
      

  7.   


    *.jsp  是webxml的默认配置  请楼主注意
      

  8.   

    冲突之后我就把这个去掉了,现在都用jstl来写了
      

  9.   

    没有冲突,一个jsp中2个标签都可以用的