DWR提供了两种方式访问ServletAPI:
1.使用WebContext:
//这种方式简单,但与DWRAPI耦合 public void addSession(String name) { WebContext wc = WebContextFactory.get(); wc.getSession(true).setAttribute("user", name); }
2.直接访问Servlet API:
public void addSession(String name,HttpSession sess) { sess.setAttribute("user", name); }
调用时无需传入HttpSession参数:
//add是生成的javascript对象 add.addSession('wang');
WebContext对象提供的forwardToString(java.lang.String url)会将url资源作为服务器响应:
服务器java类:
public class ReadOtherUrl { public String read() throws ServletException, IOException { return WebContextFactory.get().forwardToString("/index.jsp"); } }
服务器要读取的页面:
<body> 服务器要读取的index.jsp页面 </body>
客户端代码:
<script type="text/javascript"> function callbc(data) { $("show").innerHTML = data; } </script> <input type="button" value="提交" onclick="read.read(callbc);"> <div id="show"></div>