解决jquery和DWR的冲突问题

本文详细介绍了如何在Spring框架管理的环境中集成DWR与jQuery,包括配置dwr.xml以从Spring容器获取Bean、设置web.xml中的servlet配置、组织前端资源文件、解决jQuery与DWR的冲突等关键步骤。
摘要由CSDN通过智能技术生成

首先是将DWR引入到应用中来,这个我已经讨论过了,可以看另一篇Blog。但是这里需要说明的是,由于整个能够应用是基于Spring框架管理bean的,所以DWR就不能自己创建JavaBean了,也就是说DWR需要从Spring容器个取得bean。为了实现这个目标,在dwr.xml配置文件中,我们应该这么配:

<create creator="spring" javascript="ServiceBean" >

    <param name="beanName" value="serviceBean" >

</create>

而通常情况下,我们往往配置成:

<create creator="new" javascript="ServiceBean" >

    <param name="class" value="xxx.yyy.zzz.ServiceBean" >

</create>

看出区别了么?其中第一个配置中的value属性的值需要特别注意,这个值一定是我们可以通过SpringgetBean(String 参数值)方法得到Bean的那个字符串参数值,否则一定不行。

 

其次,是修改web.xmldwrservlet配置起来,包括那些参数,不再赘述。

 

第三步,在WebRoot下建一个目录用来存放js文件和css文件,我估计是不能放在WEB-INF下的,否则从jsp文件中无法直接引用。

 

第四步,将jQueryjs文件down下来,如果你需要jQueryui,那么除了jQuery的核心js以外,还要jquery-ui.min.jsjquery-ui.css,因为前者需要后面的css文件才能运行。

 

第五步,在你的jsp文件中,首先按照dwr的规范将engine.jsutil.js加进来,如果你需要调用JavaBean,比如上面的ServiceBean,那么需要将它也加进来。src属性可以参照上一篇Blog

 

第六步,将jQueryjs加进来,写在dwrjs之后,一定是之后。还有就是在系统里存在Struts1.x的时候,千万不要在<head></head>里面写<html:base />,写了<html:base />有可能是导致jQuery对象不能用的另一个原因。至少在我这里是这样的,我把他们掉了个个,结果发现使用DWRUtil的时候报错。

 

第七步,由于jQuerydwruitl冲突,所以在写script方法时使用这种方式防止冲突:

var j$ = jQuery.noConflict();

然后jQuery定义的方法中的所有【$】符号用j$代替。

 

至此,集成完毕,当然了css文件的导入也是必须的,我就没写了。记住一点,因为这些文件都被引入到jsp中,所以为了让你的页面能够引用它们,一定要加上${pageContext.request.contextPath},否则不行。还有就是如果发现某些css没有效果,检查一下这些css文件是否通过url引用了某些外部的资源,比如说图片等等,改一下就行了。

 

原文地址:http://blog.sina.com.cn/s/blog_4f925fc30100uk1f.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值