首页 > 代码库 > dwr 框架 ,实现 ajax 的java 框架

dwr 框架 ,实现 ajax 的java 框架

1. 引入 dwr.jar 包

2. 配置web.xml 文件 ,拦截请求

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

3.编写 dwr.xml 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">
<dwr>

<allow>
<create creator="spring" javascript="demo">
<param name="beanName" value="http://www.mamicode.com/RolerDao"/> <!-- value值对应的是主配置文件里的注入接口 -->
</create>
<!-- 电子病历信息 -->
<create creator="spring" javascript="ill">
<param name="beanName" value="http://www.mamicode.com/illDao"/>
</create>

<!-- 药品信息 -->
<create creator="spring" javascript="drugpro">
<param name="beanName" value="http://www.mamicode.com/drugproDao"/>
</create>

<convert converter="hibernate3" match="com.zy.entity.*" />
<convert converter="exception" match="java.lang.Exception"/>

 

</allow>

</dwr>

说明creator 表示bean 的引入方式,如果是new表示是dwr 创建  。。 javascript属性表示 jsp 页面中引入的js 的名字..如何返回值是hibernate bean ,注意引入convert hibernate 

4. jsp 页面调用  

1.

<script type="text/javascript" src="http://www.mamicode.com/dwr/util.js"></script>
<script type="text/javascript" src="http://www.mamicode.com/dwr/engine.js"></script>

<script type="text/javascript" src="http://www.mamicode.com/dwr/interface/drugpro.js"></script>

说明:util.js  和engine.js是 dwr 自带的命令文件

drugpro.js 和 dwr 的配置文件名一致

调用: 

function updatedrug(op){
$("#upfset").css("display","block");
$("#addfset").css("display","none");

drugpro.getall(pro_back);//在此调用 ,方法名是spring 配置的dao类里的方法名, pro_back  是回调函数。
cate.querycate(cate_back);
unit.queryAll(unit_back);
DrugInfoDao.updatefind(op,updatefind_back);
}

function pro_back(data){                               // 回调函数 
var b=data;

for(var i=0;i<b.length;i++){
var proop=new Option();
proop.text=b[i].dpname;
proop.value=http://www.mamicode.com/b[i].dpid;
document.getElementById("updrugpropertyid").options.add(proop);
}
}

 

dao: 

public class DrugPropertyDaoimpl extends HibernateDaoSupport implements DrugPropertyDao{
/* (non-Javadoc)
* @see com.zy.daoimpl.DrugPropertyDao#getall()
*/
@Override
public List<Drugproperty> getall(){

String hql="from Drugproperty";
List<Drugproperty> list=this.getHibernateTemplate().find(hql);
return list;

}
}