DWR 初次使用

爱读书的旅行者 2009-10-30

今天用ssh做好了一个项目:

最后测试时,测试人员要求改写东西:

描述一下项目:

在jsp页面展示了一些数据!使用iterator 迭代出List<User> 中的属性值;

在展示是有一列是 User 的状态(status)数据库中存的是 0 和 1 两个值!在页面显示

0: 否

1:是

要求如果也卖弄取得值是:"0 “,即要显示:"否"

这是 否有个超链接,触发一个js函数将 “否”  改为“ 是”(注意:这里是要将数据库中的0也要变为1的):一般思路!写个查询的方法,经过调用action改变他的显示;

但是好像用着方法就一个简单的改变一个值!就主要再调一次action何况,在查询时还要有页面其他发的参数作条件,显然在ssh'中还想没有ajax方便!

但是有一种方法,也是需要些Service, Mnager,但是不需要写action,这就是

DWR

DWR:

使用:

在jsp页面写如下:

这个是固定写法!

jsp页面要导入的:

<script language="javascript"  src="${path}/page/wrm/js/util.js"></script>

<scriptlanguage="javascript"src="${path}/page/wrm/js/engine.js"></script>

<script language="javascript"  src="${path}/dwr/interface/AnalyseCompareService.js"></script>

AnalyseCompareService.js 与下边的配置的serivce名字相同;

要在dwr.xml(该文件放在WEB_INF 下)

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPEdwrPUBLIC"-//GetAheadLimited//DTDDirectWebRemoting2.0//EN""http://www.getahead.ltd.uk/dwr/dwr20.dtd">

<dwr>

<allow>

<convertconverter="bean"match="com.iman.nrms.nrmwns.common.domain.BaseCode"/>

<createcreator="spring"javascript="AnalyseCompareService">

<paramname="beanName"value="analyseCompareService"/>

<includemethod="updateAnalyseCompareDealFlag"/>

</create>

<convertconverter="bean"match="com.iman.nrms.nrmwns.common.domain.BaseCode"/>

<createcreator="spring"javascript="AnalyseMessageService">

            <param name="beanName" value="analyseMessageService"/>

<!--analyseMessageService与spring中的service配置的名字相同-->   <include method="updateAnalyseMessageDealFlag"/>

<!--updateAnalyseMessageDealFlag调用Service的方法-->

</create>

</allow>

</dwr>

下边你就可以调用了!

记住这里只是省掉了action但是Service,Manager还是要写的!在审判日国内配一下就好了!

jsp使用:

function test(){

AnalyseCompareService.updateAnalyseCompareDealFlag(id,function(data)

{

}

);

 }

有了与Ajax一样的效果!

相关推荐