问题描述
刚刚学习DWR,跟着教程一步步配置,运行后 访问 http://localhost:8080/项目/dwr 测试通过. 然后我写了一个JSP <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <script type='text/javascript' src='dwr/engine.js'> </script> <script type='text/javascript' src='dwr/interface/helloworld.js'/> </head> <script type="text/javascript"> function dwrTest() { helloworld.showHelloWorld("123",function(data) { alert(data); }) } </script> <body> This is my JSP page. <br> <input type="button" onclick="dwrTest()"> </body> </html> 访问这个JSP,http://localhost:8080/项目/页面,不能执行这个方法,出错行是引入DWR的JS出错 <script type='text/javascript' src='dwr/engine.js'> </script> <script type='text/javascript' src='dwr/interface/helloworld.js'/> DWR 配置 <?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 javascript="helloworld" creator="new"> <param name="class" value="com.helloworld.Hello"> </param> </create> </allow> </dwr> CLASS 文件package com.helloworld; public class Hello { public String showHelloWorld(String str) { System.out.println("HelloWorld"); return "HelloWorld" + str; } }不知道什么原因.测试都通过. 哪位大哥帮忙解答一下。。问题补充:应该是对的吧。 我在DWR的例子中新建一个JSP,使用它的例子对象就没问题.我自己写的对象,就有这问题。配置我都跟它们一样。。测试都能通过,就是在JSP中访问就不行。
解决方案
LZ你把<script type='text/javascript' src='dwr/interface/helloworld.js'/> 换成<script type='text/javascript' src='dwr/interface/helloworld.js'></script> 试试希望能对您有所帮助
解决方案二:
web.xml 中类似下面的配置有吗?<servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
解决方案三:
会不会是路径错误?改成'/dwr/engine.js''/dwr/interface/helloworld.js'