这段时间,一直在整struts+spring+hibernate+ajax技术。。当然,是个特别牛的人(刘晓涛老师)整出来的一个DEMO,俺的任务是重新在读懂代码的基础上,重新做一篇,来实战一番,这可是目前做J2EE中的主流技术。在做的过程中,有很多收获,遇到过很多困难,特别感谢深圳中青的北大青鸟的刘晓涛老师的热情解答,还有Nieo朋友的无私帮助..下面,接下来的时间内,阿堂就根据自己的学习体会,分别写些博文,跟
朋友们分和交流一下,下面,我说的是ajax在ssh中的应用。由于本人理解程度和版面的关系,不对之处,还望朋友们指正,阿堂就将一些主要的地方写下来了。。
下面的部分代码是取自于本Demo中的代码
ajax的基本原理是由javascript来提交到一个处理页面a,从页面a中经过处理后得到相应的String或者是xml类型的内容,然后再返回到当前的提交页面,进行解析xml内容或者相应的String
在ssh中,主要是由spring来管理的
第一种情况:用dwr框架技术来使用ajax
准备工作:1.导入dwr框架到当前的lib目录
2.在web.xml中进行配置
如果是要交给spring来管理的话,还需要加上
3.要交给spring管理的话,还需要在dwr.xml中写下如下格式的内容(由实际情况来变化)
4.在对应的jsp文件中,假设有如下内容(我是用的struts)
在页面中有(三个js文件是由dwr框架编译时自动产生的)
..
..
5.对应的处理页面所在的类文件(如下所示)
对应的validatePetName(StringpetName)方法在dwr.xml文件中指定的类中(这是验正更新时,不能再输入在数据中已经用了的用户名)
public class ValidatePetNameService {
IPetInfoDAOpiDAO;//必须是接口,不能是DAO实现类
public IPetInfoDAO getPiDAO() {
return piDAO;
}
public voidsetPiDAO(IPetInfoDAO piDAO) {
this.piDAO = piDAO;
}
public String validatePetName(StringpetName)
{
booleanpetNameExist=false;
Listlist=piDAO.findAllPets();
Iteratoriterator=list.iterator();
while(iterator.hasNext())
{
PetInfopi=(PetInfo)iterator.next();
if(pi.getPetName().equalsIgnoreCase(petName))
{
petNameExist=true;
break;
}
}
if(petNameExist)
{
return"该宠物名字已经存在!!";
}
else
{
return"";
}
}
}
效果图如下