Vai*_*ali 5 java session jsp servlets
我保存了一些会话属性.我有一个jsp页面,通过它调用servlet.这个servlet更新了一个会话变量,但是我无法在jsp.Pls帮助中看到这些变化的反映.
在我的servlet中
List<DriverList> abc = dao.getABC();
request.getSession().removeAttribute("abc");
request.getSession().setAttribute("abc", abc);
Run Code Online (Sandbox Code Playgroud)
在我的jsp中
function update()
{
var url = "updateServlet";
var req = $.ajax({
type: 'GET',
url: url,
cache: false,
type: "GET",
success: function()
{
latlng = [];
latlng = [<c:forEach var="test" items="${abc}">
[<c:out value="${test.latitude}"/>,<c:out value="${test.longitude}"/>,"<c:out value= "${test.name}" />",<c:out value="${test.cellNo}"/>],
</c:forEach> ];
},
error: function (status) {
}
});
}
Run Code Online (Sandbox Code Playgroud)
值${abc}
与以前相同.如何获得新价值?
确切的流量 -
当登录servlet被调用abc
为sessionAttribute
设置值时.
现在重定向到base.jsp.我第一次使用abc.现在每30秒后update()
调用一次该函数.此更新函数通过ajax调用servlet,其中会话属性abc已更新.
在ajax请求的成功函数中,我想使用这个新的abc值但是再次获取旧的值.
要访问abc
JSP 中的变量,请尝试:
${sessionScope.abc}
Run Code Online (Sandbox Code Playgroud)
另请注意,在设置之前删除通常是多余的。所以:
request.getSession().removeAttribute("abc");
request.getSession().setAttribute("abc", abc);
Run Code Online (Sandbox Code Playgroud)
可以简单地变成:
request.getSession().setAttribute("abc", abc);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17843 次 |
最近记录: |