ajax第二课.docx
- 文档编号:4953715
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:31
- 大小:200.16KB
ajax第二课.docx
《ajax第二课.docx》由会员分享,可在线阅读,更多相关《ajax第二课.docx(31页珍藏版)》请在冰点文库上搜索。
ajax第二课
第二课ssh+jquery的easyUI框架实现ajax分页显示及CRUD
数据库和表准备如下:
createdatabasemydb
go
usemydb
go
createtableadmin(
aidintidentityprimarykey,
anamevarchar(50),
passwdvarchar(50)
)
---
select*fromadmin
一、建立web工程引入struts.2+spring2.5+hibernate3.3的组件包(步骤参考前面课程的讲解)
二、生成POJO和DAO类,改写dao类中的方法,代码如下:
packagecom.dao;
importjava.util.List;
importorg.hibernate.LockMode;
importorg.hibernate.Query;
importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;
importorg.springframework.context.ApplicationContext;
importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;
importcom.po.Admin;
/**
*Adataaccessobject(DAO)providingpersistenceandsearchsupportforAdmin
*entities.Transactioncontrolofthesave(),update()anddelete()operations
*candirectlysupportSpringcontainer-managedtransactionsortheycanbe
*augmentedtohandleuser-managedSpringtransactions.Eachofthesemethods
*providesadditionalinformationforhowtoconfigureitforthedesiredtype
*oftransactioncontrol.
*
*@seecom.po.Admin
*@authorMyEclipsePersistenceTools
*/
publicclassAdminDAOextendsHibernateDaoSupport{
privatestaticfinalLoggerlog=LoggerFactory.getLogger(AdminDAO.class);
//propertyconstants
publicstaticfinalStringANAME="aname";
publicstaticfinalStringPASSWD="passwd";
protectedvoidinitDao(){
//donothing
}
publicvoidsave(AdmintransientInstance){
log.debug("savingAdmininstance");
try{
getHibernateTemplate().save(transientInstance);
log.debug("savesuccessful");
}catch(RuntimeExceptionre){
log.error("savefailed",re);
throwre;
}
}
publicvoiddelete(AdminpersistentInstance){
log.debug("deletingAdmininstance");
try{
getHibernateTemplate().delete(persistentInstance);
log.debug("deletesuccessful");
}catch(RuntimeExceptionre){
log.error("deletefailed",re);
throwre;
}
}
publicAdminfindById(java.lang.Integerid){
log.debug("gettingAdmininstancewithid:
"+id);
try{
Admininstance=(Admin)getHibernateTemplate().get("com.po.Admin",
id);
returninstance;
}catch(RuntimeExceptionre){
log.error("getfailed",re);
throwre;
}
}
publicListfindByExample(Admininstance){
log.debug("findingAdmininstancebyexample");
try{
Listresults=getHibernateTemplate().findByExample(instance);
log.debug("findbyexamplesuccessful,resultsize:
"
+results.size());
returnresults;
}catch(RuntimeExceptionre){
log.error("findbyexamplefailed",re);
throwre;
}
}
publicListfindByProperty(StringpropertyName,Objectvalue){
log.debug("findingAdmininstancewithproperty:
"+propertyName
+",value:
"+value);
try{
StringqueryString="fromAdminasmodelwheremodel."
+propertyName+"=?
";
returngetHibernateTemplate().find(queryString,value);
}catch(RuntimeExceptionre){
log.error("findbypropertynamefailed",re);
throwre;
}
}
publicListfindByAname(Objectaname){
returnfindByProperty(ANAME,aname);
}
publicListfindByPasswd(Objectpasswd){
returnfindByProperty(PASSWD,passwd);
}
publicListfindAll(){
log.debug("findingallAdmininstances");
try{
StringqueryString="fromAdmin";
returngetHibernateTemplate().find(queryString);
}catch(RuntimeExceptionre){
log.error("findallfailed",re);
throwre;
}
}
publicAdminmerge(AdmindetachedInstance){
log.debug("mergingAdmininstance");
try{
Adminresult=(Admin)getHibernateTemplate().merge(
detachedInstance);
log.debug("mergesuccessful");
returnresult;
}catch(RuntimeExceptionre){
log.error("mergefailed",re);
throwre;
}
}
publicvoidattachDirty(Admininstance){
log.debug("attachingdirtyAdmininstance");
try{
getHibernateTemplate().saveOrUpdate(instance);
log.debug("attachsuccessful");
}catch(RuntimeExceptionre){
log.error("attachfailed",re);
throwre;
}
}
publicvoidattachClean(Admininstance){
log.debug("attachingcleanAdmininstance");
try{
getHibernateTemplate().lock(instance,LockMode.NONE);
log.debug("attachsuccessful");
}catch(RuntimeExceptionre){
log.error("attachfailed",re);
throwre;
}
}
publicstaticAdminDAOgetFromApplicationContext(ApplicationContextctx){
return(AdminDAO)ctx.getBean("AdminDAO");
}
publicintfindMaxPage(intpsize){
intmaxrow=0;
intmaxpage=0;
Stringsql="selectcount(aid)fromAdmin";
Queryqy=getSession().createQuery(sql);
maxrow=Integer.parseInt(qy.list().get(0).toString());
if(maxrow==0){
maxpage=1;
}else{
maxpage=maxrow%psize==0?
maxrow/psize:
maxrow/psize+1;
}
returnmaxpage;
}
publicListfindAll(intcpage,intpsize){
intmaxpage=findMaxPage(psize);
if(cpage<1)cpage=1;
if(cpage>maxpage)cpage=maxpage;
intpagenum=(cpage-1)*psize;
Stringsql="fromAdmin";
Queryqy=getSession().createQuery(sql);
qy.setFirstResult(pagenum);
qy.setMaxResults(psize);
returnqy.list();
}
}
三、打开struts-config.xml文件,设计formbean和action的运行流程如下图
四、引入JSON组件包到当前工程(拷贝到WEB-INF/lib目录中),组件包名称如下
五、编写业务接口和业务实现类。
packagecom.business;
importjava.util.*;
publicinterfaceIBusiness{
publicbooleansave(Objectob);
publicbooleanupdate(Objectob);
publicbooleandelById(intid);
publicObjectfindById(intid);
publicListfindAll();
publicListfindAll(intcpage,intpsize);
publicintfindMaxPage(intpsize);
}
packagecom.business;
importjava.util.List;
importcom.struts.form.*;
importcom.po.*;
importcom.dao.*;
publicclassAdminBusinessimplementsIBusiness{
privateAdminDAOadao;
publicAdminDAOgetAdao(){
returnadao;
}
publicvoidsetAdao(AdminDAOadao){
this.adao=adao;
}
publicbooleandelById(intid){
//TODOAuto-generatedmethodstub
Adminadmin=adao.findById(id);
try{
adao.delete(admin);
returntrue;
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnfalse;
}
publicListfindAll(){
//TODOAuto-generatedmethodstub
returnadao.findAll();
}
publicListfindAll(intcpage,intpsize){
//TODOAuto-generatedmethodstub
returnadao.findAll(cpage,psize);
}
publicObjectfindById(intid){
//TODOAuto-generatedmethodstub
Adminadmin=adao.findById(id);
AdminFormaf=newAdminForm();
af.setAdmin(admin);
returnaf;
}
publicintfindMaxPage(intpsize){
//TODOAuto-generatedmethodstub
returnadao.findMaxPage(psize);
}
publicbooleansave(Objectob){
//TODOAuto-generatedmethodstub
AdminFormaf=(AdminForm)ob;
try{
adao.save(af.getAdmin());
returntrue;
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnfalse;
}
publicbooleanupdate(Objectob){
//TODOAuto-generatedmethodstub
AdminFormaf=(AdminForm)ob;
try{
adao.merge(af.getAdmin());
returntrue;
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnfalse;
}
}
六、在action中编写相关的方法,代码如下
/*
*GeneratedbyMyEclipseStruts
*Templatepath:
templates/java/JavaClass.vtl
*/
packagecom.struts.action;
importjava.io.IOException;
importjava.util.HashMap;
importjava.util.List;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
importnet.sf.json.JSONObject;
importmons.collections.map.HashedMap;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importorg.apache.struts.actions.DispatchAction;
importcom.business.IBusiness;
importcom.struts.form.AdminForm;
importcom.struts.form.PageForm;
importjava.util.*;
importorg.springframework.web.struts.DelegatingActionProxy;
/**
*MyEclipseStruts
*Creationdate:
05-24-2012
*
*XDocletdefinition:
*@struts.actionpath="/adminmanager"name="adminForm"input="/admin.jsp"parameter="op"scope="request"
*/
publicclassAdminmanagerActionextendsDispatchAction{
/*
*GeneratedMethods
*/
privateIBusinessbuss;
publicIBusinessgetBuss(){
returnbuss;
}
publicvoidsetBuss(IBusinessbuss){
this.buss=buss;
}
/**
*Methodexecute
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@returnActionForward
*/
publicActionForwardsave(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
AdminFormadminForm=(AdminForm)form;//TODOAuto-generatedmethodstub
booleanbl=buss.save(adminForm);
if(bl){
try{
response.getWriter().print("saveok");
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
returnnull;
}
publicActionForwardupdate(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
AdminFormadminForm=(AdminForm)form;//TODOAuto-generatedmethodstub
booleanbl=buss.save(adminForm);
if(bl){
try{
response.getWriter().print("updateok");
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
returnnull;
}
publicActionForwarddelById(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
Stringid=request.getParameter("aid");
booleanbl=buss.delById(Integer.parseInt(id));
if(bl){
try{
response.getWriter().print("delok");
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.prin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ajax 第二