使用dwr验证功能.
1.持久层接口
// 根据属性进行校验
public List<Address> findByProperty(String propertyName, Object value);
2.持久层实现类
public List<Address> findByProperty(String propertyName, Object value) {
try {
String queryString = "from Address as model where model."
+ propertyName + "= ?";
List<Address> result = getHibernateTemplate().find(queryString,
value);
return result;
} catch (RuntimeException re) {
throw re;
}
}
3.进行配置 在DWRMethods类统一配置
public boolean checkAddressName(String operatorName) {
if(addressDAO.findByProperty("name", operatorName).size() == 0) {
return true;
} else {
return false;
}
}
4.在applicationContext.xml进行配置
<bean id="DWRMethods" class="sunyang.service.dwr.DWRMethods">
<property name="liberInfoDAO" ref="liberInfoDAO"></property>
<property name="adminDAO" ref="adminDAO"></property>
<property name="usersDAO" ref="usersDAO"></property>
<property name="addressDAO" ref="addressDAO"></property>
</bean>
5.页面的代码:
function checkName(){
DWRMethods.checkAddressName(document.getElementById("name").value,function(returnBoolean){
if(document.getElementById("name").value==""){
document.getElementById("nameChecker").innerHTML="联系人账号不可以为空";
document.getElementById("nameChecker").style.color="red";
document.getElementById("name").focus();
document.getElementById("submit").disabled=true;
}else if(returnBoolean){
document.getElementById("nameChecker").innerHTML="此联系人账号可以使用";
document.getElementById("nameChecker").style.color="black";
document.getElementById("submit").disabled=false;
}else{
document.getElementById("nameChecker").innerHTML="此联系人帐号已经存在";
document.getElementById("nameChecker").style.color="red";
document.getElementById("name").focus();
document.getElementById("submit").disabled=true;
}
});
}
<td width="80" class="tb_addbook">
联系人姓名
</td>
<td width="468" class="tb_addbookRight">
<div id="nameChecker"></div>
<input type="text" name="name" value="" onblur="checkName()" />
</td>
今天,在用dwr的时候,出现了空指针的错误,弹出error对话框.
解决方法:
在applicationContext.xml文件中,添加对相应dao的支持.如: <property name="addressDAO" ref="addressDAO"></property>
即可,呵呵,留个记录!!