1

dwrを使用して情報を送信および取得していますが、次のエラーが発生します。

service(DwrSampleTest) is not defined

次の行を使用してファイルを表示しようとしたとき:

http://localhost:8080/Servlets-DWR/dwr/index.html

次の例外が発生します:Access to debug pages is denied.

これが私の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="Dwrsample">
            <param name="class" value="com.dwrsample.servlet.DwrSampleTest"/>
        </create>
    </allow>
</dwr>

web.xml:

<servlet>
        <servlet-name>dwr-invoker</servlet-name>
        <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
        <init-param>
            <param-name>crossDomainSessionSecurity</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>false</param-value>
        </init-param>
    </servlet>
    <servlet>
        <servlet-name>DwrsampleServlet</servlet-name>
        <servlet-class>com.dwrsample.servlet.DwrsampleServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>

そして私がメソッドを呼び出すファイル:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>DWR Sample</title>
        <script src='dwr/dwr/engine.js'></script>
        <script src='dwr/dwr/util.js'></script>
        <script src='dwr/dwr/interface/DwrSampleTest.js'></script>

        <script>
            function getName() {
                DwrSampleTest.getName({callback:setName,async:false});
            }
            function setName(strName) {
                document.getElementById("enterdwr").value = "";
                document.getElementById("enterdwr").value = strName;
            }
        </script>
    </head>
    <body>
        <h1>DWR Sample Test!</h1>

        <form method="post" name="dwrsample" id="dwrsample">
            <table>
                <tr class="lightrow">
                    <td width="1%">*</td>
                    <td width="39%">Eenter DWR</td>
                    <td width="60%"><input name="enterdwr" id="password" type="text" onblur="getName()"/></td>
                </tr>
                <tr class="lightrow">
                    <td width="1%">*</td>
                    <td width="39%">DWR Result</td>
                    <td width="60%"><input name="resultdwr" id="password" type="text" /></td>
                </tr>
            </table>
        </form>
    </body>
</html>

これを解決するのを手伝ってください。

4

1 に答える 1

2

dwr.xmlファイルのエントリを次のように変更します

    <create creator="new" javascript="DwrSampleTest">
        <param name="class" value="com.dwrsample.servlet.DwrSampleTest"/>
    </create> 

Javascript ="DwrSampleTest" must match with the service name that you call in jsp page .

javascriptクラス名を呼び出すよりもjavaclass名を呼び出しました。

デバッグを有効にする

<init-param>
            <param-name>debug</param-name>
            <param-value>true</param-value>
        </init-param>

param値をtrueに変更します。

于 2012-07-10T07:02:46.327 に答える