我的所有ACTION都被重复执行2次到3次。
并不是提交表单的情况,比如这个链接:
<a href="display.do?target=loadShop">商店</a>
这样ACTION里的LOADSHOP方法就会被执行2次。甚至3次比如下面链接:
<a href="group/group.do?target=loadGroupPage" target="_blank" class="a1">团购</a>action:public class GroupAction extends DispatchAction {

public static int count=0; public ActionForward loadGroupPage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws FileUploadException, UnsupportedEncodingException {
// TODO Auto-generated method stub
count++;
System.out.println("第"+count+"次调用");
Map map = HttpUtils.getMap(request);
String recommend = (String) map.get("recommend");
List hotPro = null;
if (recommend != null && recommend.equals("true")) {
hotPro = groupService.loadRecommendProduct(map);
} else {
hotPro = groupService.loadHotProduct(map);
}
List groupPro = groupService.loadGroupProduct(map);
List topPro = groupService.loadTopProduct(map);
request.setAttribute("hotpro", hotPro);
request.setAttribute("grouppro", groupPro);
request.setAttribute("toppro", topPro);
request.setAttribute("isReady", new Boolean(true));
return mapping.findForward("group.jsp");
}
}

解决方案 »

  1.   

    点击链接,以上的ACTION就被执行了2次
      

  2.   

    mapping.findForward("group.jsp");
    好像是这句话有点问题
      

  3.   

    检查一下配置文件里面是不是指定这个action 了。
      

  4.   

    我把那个链接所在的页面,其中的一个<jsp:include>给删除了,就不会重复发,
    奇怪?这是怎么回事?
      

  5.   

    那估计你的jsp页面有问题,你的页面跳转感觉挺乱的 最好是由actionservlet统一转发 action代码里面不要直接跳转到页面上 
      

  6.   

    http://blog.chinaunix.net/u3/104854/showart_2078650.html
      

  7.   

    我晕,你这样写,页面加载时就会调用一次,你把 a 里面这种全部换成 a onclick 事件。在 js 事件里 提交。
      

  8.   

    看下配置文件里 这个action里面 跳转的 group.jsp 字段 对应的是什么
    再检查下你jsp页面那里是怎么写的
    很有可能是jsp页面的重复调用的问题哦
      

  9.   

    我也遇到过,原因有如下(我犯错的原因,仅供参考):
    1、可能是浏览器原因,换个浏览器或者机器试试
    2、那个提交按钮是个图片,而那个按钮在<form></form>里,想办法把按钮移到form外实现
    3、点击按钮执行的文件里写了2次执行那个方法
      

  10.   

    <jsp:include> 会检查被引用文件的修改状态  建议使用<%@ include file="./taglib.jsp" %>代替  这样也可以节省一些系统资源
      

  11.   

     这句话有问题的
    return mapping.findForward("group.jsp");
    你Struts-config.xml里面配置了group.jsp信息吗,,
    还是想直接跳转到group.jsp呢,,
    要是想直接跳转用
    return new ActionForward("group.jsp");看下好了