Results 1 to 2 of 2

Thread: Using DWR with multiple application context files

  1. #1

    Default Using DWR with multiple application context files

    Hi,
    I've been recently trying to use DWR in my spring web application but I'm facing some problems.
    I followed the instructions on http://bram.jteam.nl/?p=2#comments
    but it didn't work.
    After searching for sometime I figured out that the problem is that I'm using multiple application context files and the spring creator used in the tutorial works only if there is only one application context file.
    I searched again and found two implementations for creator class (their developers claim they r working fine but for me they doesn't).

    I believe I'm not the first one to use DWR with spring multiple application context.

    I'll be very thankful if someone could provide me with the complete steps for configuring DWR (what exactlty should be written in web.xml, dwr.xml, servlet.xml and anywhere else).
    Also I would like to know if there are any restrictions on spring version or dwr version.

    Sorry for this long message but I'm in urgent need for a solution.

    Thanks in Advance.
    Sherihan.

  2. #2
    Join Date
    Nov 2007
    Posts
    13

    Default dwr and spring

    I use dwr2.0.1 and spring2.5, the dwr remote method calling is ok for me.

    1. web.xml

    
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
             http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    
    	<listener>
    		<listener-class>
    			org.springframework.web.context.ContextLoaderListener
    		</listener-class>
    	</listener>
    
    	<servlet>
    		<servlet-name>mynode</servlet-name>
    		<servlet-class>
    			org.springframework.web.servlet.DispatcherServlet
    		</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    
    	<servlet-mapping>
    		<servlet-name>mynode</servlet-name>
    		<url-pattern>*.htm</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>
    		<init-param>
    			<param-name>classes</param-name>
    			<param-value>
    				cn.mynode.validation.AjaxFormValidator
    			</param-value>
    		</init-param>
    	</servlet>
    
    	<servlet-mapping>
    		<servlet-name>dwr-invoker</servlet-name>
    		<url-pattern>/dwr/*</url-pattern>
    	</servlet-mapping>
    
    	<welcome-file-list>
    		<welcome-file>index.jsp</welcome-file>
    	</welcome-file-list>
    
    	<jsp-config>
    		<taglib>
    			<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
    			<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
    		</taglib>
    		<taglib>
    			<taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
    			<taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>
    		</taglib>
    	</jsp-config>
    
    </web-app>
    cn.mynode.validation.AjaxFormValidator is my java class used for dwr service.

    2. I use annotation configure instead of dwr.xml, Here is my Java class

    Code:
    @RemoteProxy(name = "AjaxFormValidatorJS", creator = SpringCreator.class, creatorParams = @Param(name = "beanName", value = "ajaxFormValidator"))
    public class AjaxFormValidator implements ApplicationContextAware {
    	//@RemoteMethod
    	public String sayHello(String msg) {
    		return "FormValidator:Hello world " + msg + "!";
    	}
    }
    3. in spring configurateion a bean is defined like this,
    applicationContext.xml
    Code:
    	<bean id="ajaxFormValidator" class="cn.mynode.validation.AjaxFormValidator" >
    	</bean>
    4. use javascirpt in my jsp file like this:
    Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib prefix="form"   uri="http://www.springframework.org/tags/form" %>
    <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
    <%@ taglib prefix="c"      uri="http://java.sun.com/jsp/jstl/core" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <title><spring:message code="form.title"/></title>
        <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
        <link href="<c:url value="/css/style.css"/>" rel="stylesheet" type="text/css"/>
        <script type="text/javascript" src="<c:url value="/dwr/util.js"/>"></script>
        <script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
        <script type="text/javascript" src="<c:url value="/dwr/interface/AjaxFormValidatorJS.js"/>"></script>
        <script type="text/javascript" src="<c:url value="/js/ajaxValidate.js"/>"></script>
    </head>
    
    <body>
      <div id="main">
        <div id="topmenu">
        </div>
        <div id="content">
    	   <form:form acceptCharset="UTF-8">
               <div>
                   <form:input  path="userId" onchange="validate(this)" />
               </div>
               <div>
    			   <form:label  path="email">email:</form:label>
                   <form:input  path="email" size="40"/>
                   <form:errors path="email" cssClass="error" />
               </div>
               <div>
                   <input type="submit" value="创建用户" />
               </div>
           </form:form>
        </div>
    
    </div>
    
    </body>
    </html>
    5. a ajaxValidate.js file like this:
    Code:
    function validate(inputArray) {
    
        AjaxFormValidatorJS.sayHello("sammi",                                  handleValidationResponse);
    }
    
    function handleValidationResponse(response) {
      alert(response);
    }

Similar Threads

  1. Replies: 7
    Last Post: Jan 8th, 2013, 04:05 AM
  2. IOExceptions with application context files
    By seanoshea in forum Container
    Replies: 2
    Last Post: Oct 21st, 2005, 10:02 AM
  3. Stack Overflow
    By rayho222 in forum Container
    Replies: 6
    Last Post: May 17th, 2005, 03:42 AM
  4. Replies: 3
    Last Post: Apr 15th, 2005, 08:52 AM
  5. Questioning the core component
    By Martin Kersten in forum Swing
    Replies: 6
    Last Post: Feb 21st, 2005, 03:45 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •