struts2中使用dwr出现的一些问题,发在别的版块都没人理

yuanyi05 2009-04-03 02:13:14
我用dwr配到struts2+spring+hibernater的框架时遇到下面的一些问题,请高手指点


<?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>
<!-- intro - for the test on index.html -->
<create creator="spring" javascript="xs" scope="script">
<param name="beanName" value="zbxsAction"/>
<include method="xs"/>
</create>
<convert converter="bean" match="com.jrtl.xm.gold.huowu.vo.ZbEntity"/>
</allow>
</dwr>

这个dwr的配置文件中<convert converter="bean" match="com.jrtl.xm.gold.huowu.vo.ZbEntity"/>
是用来做什么的。


=================================================================================



jsp页面中
<script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/util.js'> </script>
<script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/interface/xs.js'> </script>
<script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/engine.js'> </script>

这三句是有顺序的吗???

============================================================

function dwr()
{

var txm=document.getElementById("txm“).value

xs.xs(txm,function(zb){

alert(zb[0])

});

}

为什么会出dwr.engine为空或不是对象异常呢
...全文
322 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你再确定一下dwr的版本,现在最新的是dwr3了,我前面也是遇到dwrUtil和dwr.engine为空,就是错下成dwr3的包了
Ghost_520 2009-04-10
  • 打赏
  • 举报
回复
function dwr()
{

var txm=document.getElementById("txm“).value

xs.xs(txm,function(zb){

alert(zb[0])

});

}

是在这段代码这里出现错误的吗? 分段调试下看下具体是在哪里产生错误的、。
yuanyi05 2009-04-10
  • 打赏
  • 举报
回复
我换了个最新dwr2
Ghost_520 2009-04-10
  • 打赏
  • 举报
回复


是不是 dwr.jar 包有问题,换个试试。
yuanyi05 2009-04-10
  • 打赏
  • 举报
回复
还是报同样的错误
Ghost_520 2009-04-10
  • 打赏
  • 举报
回复
你把引用 <script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/engine.js'> </script> 去掉试试。
yuanyi05 2009-04-10
  • 打赏
  • 举报
回复
还是不行,我用这个框架只有一个dwr模块的测试了。也可以。只是现在不行,为什么呢
Ghost_520 2009-04-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yuanyi05 的回复:]
你是说它们可能有顺序对吗
[/Quote]

不是 将 <script src="xxx"></script>

改成

<script src="xxx" />
yuanyi05 2009-04-10
  • 打赏
  • 举报
回复
你是说它们可能有顺序对吗
Ghost_520 2009-04-10
  • 打赏
  • 举报
回复

试试:


<script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/util.js'/>
<script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/interface/xs.js'/>
<script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/engine.js'/>
yuanyi05 2009-04-10
  • 打赏
  • 举报
回复
返回的是个String型数组,所以这应该没问题,我在dwr 的调试页可以得到这个数组,可是在jsp页面上就出现上面的错误了
Ghost_520 2009-04-10
  • 打赏
  • 举报
回复

加红位置是正确的,现在还剩下什么问题??

还是会出 dwr.engine为空或不是对象异常??

调试下是哪里哪里出这个错误的。
function dwr()
{

var txm=document.getElementById("txm").value

xs.xs(txm,function(zb){
alert(zb); // 看看返回值是什么?
alert(zb[0])

});

}
yuanyi05 2009-04-10
  • 打赏
  • 举报
回复
问题不在这,还有那位高手配置过,
<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>
</servlet>

<servlet-mapping>
<servlet-name>dwr-invoker </servlet-name>
<url-pattern>/dwr/* </url-pattern>
</servlet-mapping>
加红的位置对吗
love_future 2009-04-03
  • 打赏
  • 举报
回复
不过感觉你还是分开写好点
xs.xs(txm,xxx);
function xxx(zb){
alert(zb[0]);
}
说不定就是这个问题
love_future 2009-04-03
  • 打赏
  • 举报
回复
不好意思没注意看..
love_future 2009-04-03
  • 打赏
  • 举报
回复
xs.xs(txm,function(zb){

你那个function(zb)是什么??
把那个换掉..还是你写错了?
yuanyi05 2009-04-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lihan6415151528 的回复:]
<convert converter="bean" match="com.jrtl.xm.gold.huowu.vo.ZbEntity"/>

这句代表把你的com.jrtl.xm.gold.huowu.vo.ZbEntity这个实体类转换成dwr认可的bean
以方便在页面中可以通过对象访问它的属性

比如:ZbEntity.id


<script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/util.js'> </script>
<script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/interfa…
[/Quote]

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">


<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>
</servlet>

<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>




</web-app>


这是我的web.xml
jar包也是我新下的dwr2


而且我在dwr的调试页时可能得到我想要的,可是到了jsp页面中就提示我异常,

我引的三句没有问题吧
lihan6415151528 2009-04-03
  • 打赏
  • 举报
回复
<convert converter="bean" match="com.jrtl.xm.gold.huowu.vo.ZbEntity"/>

这句代表把你的com.jrtl.xm.gold.huowu.vo.ZbEntity这个实体类转换成dwr认可的bean
以方便在页面中可以通过对象访问它的属性

比如:ZbEntity.id


<script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/util.js'> </script>
<script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/interface/xs.js'> </script>
<script type='text/javascript' src=' <%=request.getContextPath()%>/dwr/engine.js'> </script>

这三句是没有顺序的 只要导入即可。



为什么会出dwr.engine为空或不是对象异常呢

因为没有找到engine这个js 你确认你web.xml和jar包都弄好了

52,782

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧