如何使用 Ajax 的DWR框架.获得Session 值
在DWR中需要用到session,request等这些东西的时候,可以用以下方法获取:
1. 使用DWR的API (很多人都不推荐这种做法,经测试,使用起来肯定没问题)
WebContext ctx = WebContextFactory.get();
ctx.getSession();
ctx.getHttpServletRequest();
...
注:第一种方法要用的包为:org.directwebremoting.WebContext;
org.directwebremoting.WebContextFactory;
2. 在Java的服务方法中定义这些类型的参数,让DWR自动传入相应的对象:
HttpServletRequest,HttpServletResponse,HttpSession,ServletContext,ServletConfig.
示例如下:
Java端定义方法: saveOrder(String id, String name, HttpSession session)
Javascript调用: OrderService.saveOrder(jsID,jsName,callBack)
注意,这里不需要传入session这个参数,DWR会自动传入,在Java端可以直接使用.
例
<script>
function check()
{
ch.getInfo(HttpSession session)
}
</script>
java普通类的方法
public boolean getInfo(HttpSession session)
{
此处即可拿session使用。
}
在页面接收
<script>
function check()
{
ch.getInfo(HttpSession session)
}
</script>