您现在的位置: 365建站网 > 365学习 > 暴露给DWR的类却无法在js里用

暴露给DWR的类却无法在js里用

文章来源:365jz.com     点击数:752    更新时间:2009-10-07 10:57   参与评论
浏览器提示该对象未定义。

打开dwr.XML看了看,类,方法,include,该露的都露了= =,没问题啊。

看了看页面,头部有如下内容:
<script type="text/JavaScript" src="/dwr/engine.js"></script>
<script type="text/javascript" src="/dwr/util.js"></script>
<script type="text/javascript" src="/dwr/interface/XXXClass.js"></script>

后来觉得是不是src这路径写的有问题,改成:
<script type="text/javascript" src="./dwr/engine.js"></script>
<script type="text/javascript" src="./dwr/util.js"></script>
<script type="text/javascript" src="./dwr/interface/XXXClass.js"></script>

又怀疑是不是路径需要参照实际情况改动,毕竟我工程WEB-INF目录里根本没有dwr这个目录。于是改成:
<script type="text/javascript" src="<%=request.contextPath()%>js/dwr/engine.js"></script>
<script type="text/javascript" src="<%=request.contextPath()%>js/dwr/util.js"></script>
<script type="text/javascript" src="<%=request.contextPath()%>js/dwr/interface/XXXClass.js"></script>

均以失败告终。

又怀疑是不是dwr.xml里不该用new ,于是改成:
<create javascript="XXXClass" creator="spring">
            <include method="methodXX" />
            <param name="class" value="com.yyy.XXXClass" />
</create>

结果还是“变量XXXClass未定义”……我靠。怎么回事……

经测试,引入的engine和util都可用。只有XXXClass对象提示未定义。然后发现还是路径写的有问题。改成这样就正常了:
<script type="text/javascript" src="<%=request.contextPath()%>/dwr/engine.js"></script>
<script type="text/javascript" src="<%=request.contextPath()%>/dwr/util.js"></script>
<script type="text/javascript" src="<%=request.contextPath()%>/dwr/interface/XXXClass.js"></script>
直接工程路径接上/dwr/*** 就可以。

学会了一种检验现有DWR状况的办法:
浏览器地址栏输入 http://[ip地址]:[端口号]/[工程名]/dwr
就能看到DWR的测试页面了。

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (752人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------