`
o_oand0_0
  • 浏览: 20551 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

JSF中配置dwr

阅读更多

本文以实例形式描述在jsf中配置dwr的方法。

 

应用要求:在javascript方法中调用后台Bean的方法和Spring容器中服务的方法。

 

步骤如下:

     1、  JAR包支持

 

dwr.jarjson-lib-2.3-jdk13.jarezmorph-1.0.6.jar

说明:依赖的jar包:commons-collections-XX.jar,版本必须在3.0以上

 

2、web.xml配置DwrServlet和FacesExtensionFilter

 

<!-- dwr begin -->
  <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>
    <init-param>
      <param-name>crossDomainSessionSecurity</param-name>
      <param-value>false</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>
 <!-- dwr end -->

 

 

 

<!--[if !supportLists]-->   3、  <!--[endif]-->WEB-INF下建立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>
		<!--调用jsf后台Bean的方法-->
		<create creator="jsf" javascript="BranchMerg">
			<param name="managedBeanName" value="BranchMerg" />
			<param name="class"
				value="cn.ccb.zjtsrmbp.security.web.bb.BranchMerg" />
		</create>
<!--直接调用spring容器内服务的方法-->
<create javascript="billBranch" creator="spring">
			<param name="beanName" value="securityBillBranchNewUCCTarget" />	
		</create>
	</allow>
</dwr>

 

 4、  Service里的方法范例

 

public String getSubBillBranch(String orgNo) {

	List objects=XXX;//可序列化的对象
	JSONArray jsonArray = JSONArray.fromObject(objects);//通过json方式进行序列化
	String jsonStr = jsonArray.toString();
	return jsonStr;
}

 

5、JS方法调用DWR

 

<script type="text/javascript"
		src="<%=request.getContextPath()%>/js/util.js"></script>
	<script type='text/javascript'
		src='<%=request.getContextPath()%>/dwr/engine.js'></script>
	<!---下面的billBranch.js名称对应dwr.xml里的配置--->
	<script type='text/javascript'
		src='<%=request.getContextPath()%>/dwr/interface/billBranch.js'></script>
………………………….

<script >
方法一:js方法里直接获取spring容器内对象,并调用方法
//参数
var tempBranchCode = '<%=request.getSession().getAttribute("logonBranchId")%>';	
//直接使用,并传参,指定回调函数
billBranch.getSubBillBranch(tempBranchCode,invokeFun);
//回调函数接收java方法的json结果,并做解析
function invokeFun(data){
	alert(data);
}
方法二:js直接调用指定后台bean的方法
function go(){
   BillFee.findFirstPage(invokeFun);
 }
 function invokeFun (){
  alert(“over!”);
 }
</script>
分享到:
评论

相关推荐

    ajax的框架dwr整合jsf

    接着,配置DWR的`dwr.xml`文件,声明要暴露给JavaScript的Java类和方法。 4. **创建Java服务**:在服务器端创建一个Java类,包含需要暴露给客户端的方法。这些方法的参数和返回值应与JavaScript兼容,例如基本类型...

    dwr配置所需jar包 dwr.jar bsf.jar jdom.jar jsf-api.jar

    为了正确配置DWR,你需要将这些jar文件添加到项目的类路径中,并根据DWR的官方文档配置web.xml文件,以启动DWR引擎和服务。 总的来说,DWR通过提供一种简单的方式,让Web开发者可以更便捷地在浏览器和服务器之间...

    DWR配置文件详解,DWR配置

    `&lt;allow&gt;`标签是配置DWR允许操作的关键部分,它定义了哪些Java类可以被JavaScript调用,以及如何转换Java对象。例如: ```xml ``` - **create**: 定义一个远程Java对象,可以通过JavaScript访问。`creator`...

    JSF登录页面和DWR验证,回车直接登录

    最后,我们需要配置DWR以公开这个服务。在DWR配置文件(通常是dwr.xml)中,添加以下配置: ```xml ``` 现在,我们可以在JSF页面的JavaScript中调用DWR服务来验证用户: ```javascript document.getElementById...

    AJAX与DWR jsf

    **AJAX(Asynchronous ...总的来说,AJAX和DWR是Web开发中增强用户体验的重要工具,它们通过异步通信和远程调用技术,让Web应用变得更加动态、响应更快,同时结合JSF可以进一步提升企业级应用的开发效率和用户体验。

    DWR2.0中文文档

    - **标签**:用于配置DWR启动时的初始化参数。 - **标签**:指定哪些Java类型可以被转换成JSON格式,以便于JavaScript调用。 - **Creator**:定义如何创建Java对象,如SpringCreator用于集成Spring框架。 - **...

    DWR中文文档(pdf)

    #### 五、DWR中的JavaScript使用技巧 ##### 5.1 简单的回调函数 - **使用方法**: - 定义一个简单的JavaScript函数来处理服务器端返回的结果。 - 示例代码: ```javascript function handleResponse(data) { //...

    dwr中文文档,dwr例子

    6. **实例详解**:文档中的实例部分会通过具体的代码示例,展示如何在实际项目中配置和使用DWR,帮助读者更好地理解和应用DWR。 7. **API参考**:DWR的API文档提供了所有类、接口和方法的详细说明,对于开发者调试...

    AJAX学习资料之-DWR中文手册

    - **JSFCreator**:为JSF环境配置DWR。 - **ServletFilter**:使用过滤器处理JSF和DWR之间的交互。 ##### 5.4 DWR与Struts - **Strutscreator**:配置Struts与DWR的集成。 - **开始顺序**:确保Struts和DWR按正确...

    DWR中文文档

    #### 六、DWR中的JavaScript简介 1. **简单的回调函数** - 展示如何使用DWR进行简单的回调操作。 2. **调用元数据对象** - 解释如何获取服务器端方法的信息,以便客户端更好地与服务器端进行交互。 通过以上...

    DWR中文文档v0.9

    5. **第5章:DWR中的JavaScript简介** - 介绍了在DWR中使用JavaScript的方法,包括简单的回调函数和调用元数据对象等。 #### 第1章:DWR入门 - **1.1 简介** - 简要介绍了DWR的概念和优势,以及为何选择DWR作为...

    DWR中文文档......

    - **web.xml**:这是Web应用的部署描述符,用于配置DWR的初始化参数,如安全设置、日志级别、插件启用等。例如,可以通过设置`dwr.debugMode`参数开启调试模式,便于开发和测试。 - **dwr.xml**:这个文件用于描述...

Global site tag (gtag.js) - Google Analytics