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 请求发出,它们两个请求唯一的不同就是第二个请求的结尾是#。
看看页面上是否有src=""的image标签
1、spring那边是怎么写的?
2、以上代码没看出有什么问题。
3、是不是你浏览器的问题?
4、是不是你那边就是发送了2次请求?我估计不是。
最后,是不是书签的问题?
你是用onsubmit事件提交的表单吧?
多了一个submit