history.back()

昨天有一严重的bug,在事故处理跟踪模块中,如果选择了省,而没有去查询,点击“跟踪”,然后返回,发现返回的后状态和跟踪之前的状态不一样。

原因在于页面上的搜索条件,已经和searchCase对象通过struts2标签进行了绑定。每次返回都会根据searchCase中的条件来查询符合条件的结果。也就是说跟踪之前的选择了省份之前的searchCase和选择了省份之后的searchCase是不一样的。

解决的方法有两种

1.在后台改,保存选择了省份之前的searchCase,在跟踪之后的查询中用原来的searchCase替换现在的searchCase,需要设置两个静态变量,一个flag和一个临时的case。

2.简单的方法直接用history。back()方法返回

你可能感兴趣的:(history)