首页 > 代码库 > 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;
}
}