一个例子
spring 创建的例子
dwr.xml的配置
<create javascript="KjdzclService" creator="spring">
<param name="beanName" value="kjdzclService"></param>
</create>
<convert match="com.fulitong.framework.scjs.domain.ScjsKjdzcl" converter="bean">
<param name="include" value="id,mcbh,mj,a,b,c,gycl,bfb,fhd,dzclhj">
</param>
<!-- <include method="checkZt"/>-->
</convert>
</allow> 上面创建的时候是利用的spring 创建的实体类
普通创建
<dwr>
<allow>
<create creator="new" javascript="JDate"> //对应JavaScript文件名,即:JDate.js在这个文件中有一个名为JDate的JavaScript对象
<param name="class" value="java.util.Date"/> //对应Java类。
</create>
<create creator="new" javascript="Student">
<param name="class" value="com.dwr.test.Student"/>
</create>
<convert converter="bean" match="com.dwr.test.*" ></convert>
</allow>
</dwr>
上面service的实现类 中关联的方法
public boolean getKjdzclByMcbhForUpdate(String bh)
throws RuntimeException {
// TODO Auto-generated method stub
return this.kjdzclDao.getKjdzclByMcbhForUpdate(bh);
}
下面是dao的实现类
/**
* 根据煤层编号得到实体
*/
public ScjsKjdzcl getKjdzclByMcbh(String bh) throws RuntimeException {
// TODO Auto-generated method stub
ScjsKjdzcl kjdzcl = new ScjsKjdzcl();
String hql =" from com.fulitong.framework.scjs.domain.ScjsKjdzcl t where t.mcbh ='"+bh.trim()+"'";
List<ScjsKjdzcl> kjdzcls = (List<ScjsKjdzcl>)this.getHibernateTemplate().find(hql);
if(kjdzcls.size()>0){
kjdzcl = kjdzcls.get(0);
}
return kjdzcl;
}
上面返回的是实体对象,因为在页面上需要调用该实体对象的属性,所以上面的dwr.xml配置中加了一个convert 转化
(个人理解 将后台的实体类转化为js 中的对象 由于时间问题没有详细多做测试)、
jsp 页面方面
<script type="text/javascript" src="<%=request.getContextPath()%>/dwr/interface/KjdzclService.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/dwr/engine.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/dwr/util.js"></script>
function getdata(v){
//设置DWR为同步验证
DWREngine.setAsync(false);
KjdzclService.getKjdzclByMcbh(v,callBack);
//设置DWR为同步验证
DWREngine.setAsync(true);
}
function callBack(data){
if(data.mcbh!=null){// 可以直接实体的属性名,这里的属性名应该是在后台dwr.xml中配置的param的值
if(data.a!=null){
document.getElementById("a").value=data.a;
}
}
相同颜色的关联