我正在使用IE 11作为我的应用程序。我在这里面临会议问题。
当做第一个事务时,在事务响应jsp页面中我得到当前事务没有说1000 [(TransactionDO)session.getAttribute(" txnDetails");]。 在同一个jsp我做了ng-init =" GetTxnResponse()"在div中,从那个js函数得到事务no为1000。
然后我正在使用相同的会话进行第二次事务而没有注销,在事务响应jsp页面中我从http会话获得当前事务否为1001。 来自ng-init =" GetTxnResponse()"的同一个jsp js函数获取事务编号为1000而不是1001.
它仅在IE中出现。请帮忙解决。以下是我的代码供参考。
- JSP代码 -
10.10.78.1/16
- JS代码 -
192.168.0.X/24
- Java代码 -
[DllImport("user32.dll", SetLastError = true)]
static extern bool PostMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
PostMessage(handle, (uint)WMessages.WM_LBUTTONDOWN, 0, MAKELPARAM(400, 400));
答案 0 :(得分:1)
使页面无状态。这是扎实的做法。它还允许在生产站点上进行缓存。
<div ng-controller="txnController"
ng-init="GetTxnResponse(${txnDetails.txnNo})" >
self.GetTxnResponse = function(txnNo) {
if (txnStatus == '00') {
$http.get(CONTEXT_PATH + '/getResponseDetails/' + txnNo).success(function(data) {
// Here i get 1000 from data second time
@RequestMapping(value="/getResponseDetails/{txnNo}", method=RequestMethod.GET)
public @ResponseBody TransactionDO getResponseDetails(HttpServletRequest httpRequest,
@PathVariable long txnNo) {
...
}
您可能需要比显示的代码更多地调整页面。
再解释一下:用户可以打开两个同一页面的标签,然后玩转。猜猜是什么?