xt836
2009-12-23 14:40
浏览 271
已采纳

struts1.3.10-一个请求-Action却执行两次响应

和我同学写小论坛,使用struts1.3.10。
[code="xml"]
<!-- =====================================首页============================================ -->



[/code]

[code="java"]
public class IndexBlueSkyAction extends Action {
private int gid = 0;
// spring ioc
private BlueSkyIndexService blueSkyService = null;

public void setBlueSkyService(BlueSkyIndexService blueSkyService) {
    this.blueSkyService = blueSkyService;
}

// 首页显示集
private List operResList = null;
// 单区查询结果
private Map operResMap = null;

/**
 * 参数: 可以只显示某单一大区 gid
 */
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
        HttpServletRequest req, HttpServletResponse res) throws Exception {

    // 取得某一级区Id
    String strFirstTieGroupId = req.getParameter("gid");
    int firstTieGroupId = 1;

    // 送出显示部分页面
    if (strFirstTieGroupId != null
            && (!strFirstTieGroupId.trim().equals(""))) {
        try {
            firstTieGroupId = Integer.parseInt(strFirstTieGroupId);
        } catch (Exception e) {
            // 如果参数出错则让它显示一大区的内容
            e.printStackTrace();
        }
        operResMap = blueSkyService
                .readBlueSkyByFirstTieGroupId(firstTieGroupId);

        // 将结果集送到页面
        req.setAttribute("resMap", operResMap);
    } else {

        operResList = blueSkyService.readyAll();
        req.setAttribute("resList", operResList);
    }
    // 返回首页
    return mapping.findForward("index");
}

}
[/code]
上面是这个Action的配置内容和代码,我把/index.do设了一个书签放到浏览器上,以后每次都是直接点击链接使用。可是我用Fire bug监视网络时却发现对此地址发出了两次请求,第一次是:GET index.do,第二次是:Get index.do#(图片中有显示),这让我很不理解,后来我又到Action当中加了一条输出语句才发现Action的execute()方法也被调用了二次,而且经过检查我们编写的Action有的是执行一次,有的执行两次。
谢谢大家!有哪位高手帮我一把,谢谢!
[b]问题补充:[/b]
这个Action的工作流程是直接对外的,我的意思是,我在Firefox上直接点书签而这个书签的属性是:http://localhost:8080/***/index.do,然后Firebug的网络监视中出现了如附件中图中的信息,有两个GET 请求发出,它们两个请求唯一的不同就是第二个请求的结尾是#。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • cosmo2097 2009-12-30 09:24
    已采纳

    看看页面上是否有src=""的image标签

    打赏 评论
  • weixin_42519818 2009-12-23 17:17

    1、spring那边是怎么写的?
    2、以上代码没看出有什么问题。
    3、是不是你浏览器的问题?
    4、是不是你那边就是发送了2次请求?我估计不是。
    最后,是不是书签的问题?

    打赏 评论
  • zybzhen 2009-12-23 18:59

    你是用onsubmit事件提交的表单吧?
    多了一个submit

    打赏 评论

相关推荐 更多相似问题