1.Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<!--DWR/Faces 过滤器允许你不在JSF的生命周期里调用FacesContext中的Bean。-->
<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>
</web-app>
2.UserBean.java
package com.jsfdemo.bean;
public class UserBean extends Object {
public String testDwr(String name){
System.out.println("Hello:"+name);
return "Hello:"+name;
}
}
3.dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="jsf" javascript="userbean">
<param name="managedBeanName" value="UserBean" />
<param name="class" value="com.jsfdemo.bean.UserBean" />
</create>
</allow>
</dwr>
4.faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<navigation-rule>
<from-view-id>/userLogin.jsp</from-view-id>
</navigation-rule>
<managed-bean>
<managed-bean-name>UserBean</managed-bean-name>
<managed-bean-class>
com.jsfdemo.bean.UserBean
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
5.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascrip
src="<%=request.getContextPath() %>/dwr/engine.js"></script>
<script type="text/javascript"
src="<%=request.getContextPath() %>/dwr/util.js"></script>
<script type='text/javascript'
src='<%=request.getContextPath() %>/dwr/interface/userbean.js'> </script>
<title>jsf整合dwr</title>
<script type="text/javascript">
function testdwr(){
userbean.testDwr("lobby",back);
}
function back(data){
alert(data);
}
</script>
</head>
<body>
<f:view>
<h:form id="loginForm" rendered="true">
<h:commandButton value="dwr" rendered="true" onclick="testdwr()" id="dwr" />
</h:form>
</f:view>
</body>
</html>
分享到:
相关推荐
3. **DWR与JSF的整合**:整合DWR和JSF,可以让JSF应用利用DWR的Ajax能力。首先,需要在JSF项目中添加DWR的依赖,包括dwr-engine.jar、dwr-server.jar等。接着,配置DWR的`dwr.xml`文件,声明要暴露给JavaScript的...
整合DWR与Struts需要使用Strutscreator,以及正确配置servlet过滤器,确保DWR请求能够正确处理。 ##### 3.4 DWR与Weblogic或PageFlow DWR在Weblogic服务器上的配置可能需要额外的安全设置和角色定义,以适应其特定...
- **与JSF的整合**:利用`JSFCreator`和`ServletFilter`,DWR能够在JSF环境中提供远程调用能力,增强了JSF页面的交互性。 - **与Struts的整合**:通过`StrutsCreator`,DWR可以调用Struts Action,进一步扩展了...
##### 4.3 DWR与JSF整合 - **整合要点**: - 使用`JSFCreator`来创建JSF托管bean。 - 配置`dwr.xml`以支持JSF的生命周期。 ##### 4.4 DWR与Struts整合 - **整合方式**: - 使用`StrutsCreator`来创建Action对象...
- **DWR与JSF**:通过JSFCreator可以将JSF托管的bean暴露给DWR。 - **DWR与Struts**:Strutscreator帮助将Struts的action对象注册为DWR服务。 - **DWR与Weblogic或PageFlow**:特定的配置选项允许DWR与这些应用...
4. **DWR与JSF的整合**:DWR可以与JavaServer Faces(JSF)一起工作,增强JSF组件的交互性。JSF的事件驱动模型与DWR的实时通信能力相结合,能创建更复杂的用户界面。 5. **DWR安全性和优化**:文档中也会涉及DWR的...
2. **与Struts、JSF等MVC框架的整合**:DWR可以与其他MVC框架结合,增强前端与后端的交互能力。 3. **安全性整合**:与Spring Security或Apache Shiro等安全框架整合,提升应用的安全性。 4. **实战案例**:包括但...
**DWR与JSF整合**:结合JSF的富客户端组件,DWR能够提供更丰富的用户体验和更高效的响应。 **DWR与Struts整合**:在Struts框架下,DWR能够作为Action调用的一部分,增强了Struts的异步处理能力。 **DWR与Weblogic...
DWR不仅可以在独立的环境中使用,还可以与其他流行框架如Spring、JSF、Struts等进行整合。 ##### 5.1 DWR与Servlet - **使用webContext的方法**:利用webContext获取请求上下文。 - **方法选择**:根据应用场景...