Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Framework DWR

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    42

    Framework DWR

    Ciao a tutti,
    sto iniziando a prendere in considerazione il framework in oggetto, per utilizzare Ajax.

    La scelta è caduta su DWR, e dopo aver installato e configurato il framework, sono partito immediatamente con il classico esempio.

    Il codice utilizzato è quello relativo all'esempio "Dynamic Text":

    HTML source:



    Name:
    <input type="text" id="demoName"/>
    <input value="Send" type="button" onclick="update()"/>


    Reply: <span id="demoReply"></span>
    </p>
    Javascript source:
    function update() {
    var name = dwr.util.getValue("demoName");
    Demo.sayHello(name, function(data) {
    dwr.util.setValue("demoReply", data);
    });
    }
    Java source:
    package org.getahead.dwrdemo.simpletext;

    public class Demo {
    public String sayHello(String name) {
    return "Hello, " + name;
    }
    }
    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="new" javascript="Demo">
    <param name="class" value="org.getahead.dwrdemo.simpletext.Demo"/>
    </create>
    </allow>
    </dwr>


    Se dal browser digito: http://localhost:8080/webapps/dwr/, visualizzo correttamente le classi se invece provo con la pagina jsp, il debugger di javascript mi visualizza il seguente errore:
    "dwr non è definito" - codice javascript: var name = dwr.util.getValue("demoName");

    A voi è successa una cosa simile?
    Qualcuno di voi utilizza il DWR?
    Attendo vs
    Grazie
    Carmine

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    42

    Nessuno lo utilizza?

    Nessuno utilizza Dwr?

    Avete altri suggerimenti?

  3. #3

    aggiornamento


    Ma hai definito il dwr.xml e hai scritto la definizione della servlet dwr nel web.xml???

    per farti un esempio di files di questo genere ti posto quelli di un vecchio progetto su cui ho lavorato:

    codice:
    <?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="new" javascript="Reading">
                <param name="class" value="dwr.Reading"/>         
           </create> 
          <convert match="dwr.*" converter="bean"></convert>     
        </allow> 
    </dwr>

    nel web.xml poi va aggiunta una parte come questa che definisce la "FakeHttpServlet" che verrà usata da Dwr:

    codice:
     <servlet>
        <description></description>
        <display-name>DWR Servlet</display-name>
        <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>
      </servlet>
      <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
      </servlet-mapping>

    Ovviamente poi nel file JSP andranno aggiunti gli include per il codice JS fittizzio autogenerato da dwr, per esempio, secondo il mio dwr.xml:

    codice:
    <script type="text/javascript" src="/CitofonoWeb/dwr/engine.js" />
    <script type="text/javascript" src="/CitofonoWeb/dwr/util.js" />
    <script type="text/javascript" src="/CitofonoWeb/dwr/interface/Reading.js" />

    e infine, la classe che verrà eseguita con dwr, nel mio esempio Reading.java, dovrà essenzialmente e per forza stare in un package che si chiama dwr, (nel mio caso), o come lo hai definito nel dwr.xml, nel caso avessi definito org.pippo.consulting come package, la classe che richiamerai dovrà stare in org.pippo.consulting.Classe.java


    [PS X TUTTI]Ho risposto a questo Thread anche se vecchio perche su dwr c'è poca documentazione abbastanza facile da capire..di conseguenza mi sembrava giusto scrivere 2 righe nel caso qualcun'altro avesse problemi simili, ovviamente non è una documentazione ma solo 2 semplici paragrafetti per aiutare a capire le basi dell'implementazione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.