JSF与DWR的整合
来源:互联网 发布:魁北克留学移民知乎 编辑:程序博客网 时间:2024/05/28 19:25
JSF与DWR的整合 --- 如何让JSF的ManagedBean来进行Reverse AJAX调用
①、在正常配置DWR(包括reverse ajax配置)及JSF之后在web.xml中做如下定义:
<filter>
<filter-name>DwrFacesFilter</filter-name>
<filter-class>
org.directwebremoting.faces.FacesExtensionFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>DwrFacesFilter</filter-name>
<url-pattern>/dwr/*</url-pattern>
</filter-mapping>
②、在jsp页面中,引入DWR的一些js脚本,并编写你自己的javascript,例如:
<script type='text/javascript' src='/DWRTest/dwr/engine.js'> </script>
<script type='text/javascript' src='/DWRTest/dwr/util.js'> </script>
<script>
function alertTest(msg)...{
alert(msg);
}
</script>
在<body>标签中增加一个reverse ajax的显式设置:<body onload="dwr.engine.setActiveReverseAjax(true);">
③、ManagedBean中,写一个actionListener方法
FacesContext facesContext = FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext)facesContext.getExternalContext().getContext();
ServerContext sctx = ServerContextFactory.get(servletContext);
Collection sessions = sctx.getScriptSessionsByPage("/DWRTest/test.faces");
Util pages = new Util(sessions);
pages.addFunctionCall("alertTest", "hello dwr");
注意,不能采用DWR在普通jsp中获取ServletContext的方法,因为在那种方式中,URL的解析是通过DWRServlet解析的,而在JSF中是由FacesServlet来解析的,所以使用WebContextFactory.get().getServletContext() 会得到NullPointerException.
此处不用在dwr.xml中定义相应的内容,因为客户端不需要调用服务器端,而是服务器端调用客户端。
①、在正常配置DWR(包括reverse ajax配置)及JSF之后在web.xml中做如下定义:
<filter>
<filter-name>DwrFacesFilter</filter-name>
<filter-class>
org.directwebremoting.faces.FacesExtensionFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>DwrFacesFilter</filter-name>
<url-pattern>/dwr/*</url-pattern>
</filter-mapping>
<filter-name>DwrFacesFilter</filter-name>
<filter-class>
org.directwebremoting.faces.FacesExtensionFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>DwrFacesFilter</filter-name>
<url-pattern>/dwr/*</url-pattern>
</filter-mapping>
②、在jsp页面中,引入DWR的一些js脚本,并编写你自己的javascript,例如:
<script type='text/javascript' src='/DWRTest/dwr/engine.js'> </script>
<script type='text/javascript' src='/DWRTest/dwr/util.js'> </script>
<script>
function alertTest(msg)...{
alert(msg);
}
</script>
<script type='text/javascript' src='/DWRTest/dwr/util.js'> </script>
<script>
function alertTest(msg)...{
alert(msg);
}
</script>
在<body>标签中增加一个reverse ajax的显式设置:<body onload="dwr.engine.setActiveReverseAjax(true);">
③、ManagedBean中,写一个actionListener方法
FacesContext facesContext = FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext)facesContext.getExternalContext().getContext();
ServerContext sctx = ServerContextFactory.get(servletContext);
Collection sessions = sctx.getScriptSessionsByPage("/DWRTest/test.faces");
Util pages = new Util(sessions);
pages.addFunctionCall("alertTest", "hello dwr");
ServletContext servletContext = (ServletContext)facesContext.getExternalContext().getContext();
ServerContext sctx = ServerContextFactory.get(servletContext);
Collection sessions = sctx.getScriptSessionsByPage("/DWRTest/test.faces");
Util pages = new Util(sessions);
pages.addFunctionCall("alertTest", "hello dwr");
注意,不能采用DWR在普通jsp中获取ServletContext的方法,因为在那种方式中,URL的解析是通过DWRServlet解析的,而在JSF中是由FacesServlet来解析的,所以使用WebContextFactory.get().getServletContext() 会得到NullPointerException.
此处不用在dwr.xml中定义相应的内容,因为客户端不需要调用服务器端,而是服务器端调用客户端。
- JSF与DWR的整合
- JSF与DWR的整合
- JSF与DWR的整合 --- 如何让JSF的ManagedBean来进行Reverse AJAX调用
- JSF与Tiles框架的整合1
- Jsf与Spring的整合原理
- Jsf与Spring的整合原理
- JSF,Hibernate,Spring的整合与杂谈
- JSF与Spring的整合原理
- 我的测试dwr + jsf
- 整合JSF与Spring
- spring 与 jsf整合
- DWR与Struts整合
- Spring与DWR整合
- Spring与DWR整合
- Spring与DWR整合
- DWR与Spring整合
- DWR与spring整合
- dwr与spring整合
- RFC文档状态
- 多线程编程最新资料大全
- 用oreilly公司的cos上传文件
- postgresql创建function使两个表互动
- mysql 存储过程 简单示例
- JSF与DWR的整合
- Python的学习(二十三)---python实现网站自动登录
- MyEclipse8.6 注册码
- 第一章单一变量
- Python 学习第二天
- MyEclipse优化技巧
- iOS 字符串 向数组转换
- jquery-tmpl
- PBGB Seminar