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="RolerDao"/>
<!-- value值对应的是主配置文件里的注入接口 -->
</create>
<!--
电子病历信息 -->
<create creator="spring"
javascript="ill">
<param name="beanName"
value="illDao"/>
</create>
<!-- 药品信息 -->
<create creator="spring"
javascript="drugpro">
<param name="beanName"
value="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="dwr/util.js"></script>
<script type="text/javascript"
src="dwr/engine.js"></script>
<script type="text/javascript" src="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=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;
}
}