我在seconCol.jsp页面中使用<s:action name="itemShowAction" executeResult="false"></s:action>,想要在加载secondCol页面时,就调用itemShowAction中的方法。但是itemShowAction没有得到调用。 
我的配置:struts.xml: 
         <action name="itemShowAction" class="ItemAction" method="findfirstPageItem"> 
  <result name="success">/secondCol.jsp</result> 
  </action> 
applicationContext.xml: 
<bean id="ItemAction" class="com.portal.item.action.ItemAction" scope="prototype"> 
    <property name="itemService" ref="ItemService"></property> 
    </bean> 
secondCol.jsp代码: 
<s:action name="itemShowAction" executeResult="false"></s:action> 
    <div class="secondcol"> 
<div class="secondleftcol"> 
        <div class="tab">tab显示内容有:疯狂抢购、热卖商品、热评商品、最新上架</div> 
            <div class="secondfloor"> 
                 <h4><a href="#">more&gt;&gt;</a></h4> 
                    <ul> 
                        <s:iterator value="#request.hotSale" status="st"> 
                        <li><a href="#"><img src="upload/<s:property value="itemPic"/>"/> 
                            <p><s:property value="itemName"/></p><p><s:property value="itemPrice"/></p></a></li> 
                            </s:iterator> 
                        </ul> 
             </div> 
如果我直接在浏览器上调用http://localhost:8080/portal/itemShowAction.action;返回给seconCol.jsp时,数据都能得到,但是使用http://localhost:8080/portal/seconCol.jsp时,就没有数据,itemShowAction没有被调用这是个什么情况啊

解决方案 »

  1.   

    executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含你应该懂了吧
      

  2.   

    还是不懂,不管我设置为false或者true,或者没有executeResult,当我运行http://localhost:8080/portal/seconCol.jsp时,依然没数据,运行http://localhost:8080/portal/itemShowAction.action;返回给seconCol.jsp时,数据都能得到
      

  3.   

    因为struts实在调用了对应的action方法并且返回一个字符串后找到对应的视图,这就是你开始直接在浏览器里输入action的名字能得到视图的原因,而后面输入的是访问一个jsp页面不是action请求不会被控制器转发到action也就不会得到你要的视图。