0

我的 JSP 包含 javascript 代码,其中包括两个函数一个函数是调用 servlet

ie.window.showModalDialog("mams.openAndSave",............)

用于打开报告并在HttpSession中设置值。

另一个函数使用以前使用表达式语言检索会话值集

ie.dataToSave='${sessionScope.executionFilePath}';

但是这里的 dataToSave变量在表单提交期间没有被初始化。以上函数是使用 JSP 中提供的链接动态调用的。

哪位知道这个问题的解决方法,请回复

4

1 回答 1

0

首先,您需要控制 Javascript 调用的流程。您可以阅读有关<body onload="myFunction()">document.ready功能来控制 javascript 函数调用。您不能直接使用客户端 javascript 直接访问会话对象。可以借助对 servlet 或任何服务器端程序的 ajax 调用来访问会话对象。因此,servlet 访问 HttpSession,设置属性值,获取属性值并将其返回给客户端。HttpSession 默认不是线程安全的。因此,您可以通过在 servlet 或服务器端程序中锁定会话对象来使其线程安全,如下所示

HttpSession session=request.getSession();
synchronized(session)
{
//setAttributes in the session object
//getAttributes from the session object
}

希望这可以帮助

于 2013-10-30T07:11:55.847 回答