问题描述
最近在做一个SSH2整合时,遇到两个问题一个是在Action中传递参数时,用requestAware接口时,参数传不到网页publicclassOrgActionextendsActionSupportimplementsRequestAware{privateintparentId;privateList<Organization>orgs;privateMap<String,Object>request;publicList<Organization>getOrgs(){returnorgs;}publicvoidsetOrgs(List<Organization>orgs){this.orgs=orgs;}privateOrgManagerorgManager=newOrgManagerImpl();;publicOrgManagergetOrgManager(){returnorgManager;}@Resource(name="orgManager")publicvoidsetOrgManager(OrgManagerorgManager){this.orgManager=orgManager;}publicStringexecute(){orgs=orgManager.findOrgs(parentId);//此处为空,就是传不到网页上,request.put("orgs","orgs");System.out.println("theorgsis"+orgs.size());return"success";}publicvoidsetParentId(intparentId){this.parentId=parentId;}publicintgetParentId(){returnparentId;}publicvoidsetRequest(Map<String,Object>request){this.request=request;}}还有一个就是用hibernateTemplate来实现的方法也是数据为空代码如下:packagecom.oa.manager.impl;importjava.util.List;importjavax.annotation.Resource;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.cfg.AnnotationConfiguration;importorg.springframework.orm.hibernate3.HibernateTemplate;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;importorg.springframework.stereotype.Component;importcom.oa.manager.OrgManager;importcom.oa.model.Organization;@Component("orgManager")publicclassOrgManagerImplimplementsOrgManager{privateHibernateTemplatehibernateTemplate;@OverridepublicList<Organization>findOrgs(intparentId){/*parentId=0;if(parentId==0){returnthis.getHibernateTemplate().find("fromOrganizationowhereo.parent.idisnull");}else{returnthis.getHibernateTemplate().find("fromOrganizationowhereo.parent.id=?"+parentId);}*/此处用上面的方法就是为空,但是用下面的就能出结果AnnotationConfigurationacf=newAnnotationConfiguration().configure();SessionFactorysf=acf.buildSessionFactory();Sessions=sf.openSession();s.beginTransaction().begin();List<Organization>t=(List<Organization>)s.createQuery("fromOrganizationowhereo.parent.idisnull").list();System.out.println(t.size());s.beginTransaction().commit();returnt;}@OverridepublicvoidmodifyOrg(Organizationorg,intparentId){if(parentId!=0){org.setParent((Organization)this.getHibernateTemplate().load(Organization.class,parentId));}this.getHibernateTemplate().update(org);}@ResourcepublicvoidsetHibernateTemplate(HibernateTemplatehibernateTemplate){this.hibernateTemplate=hibernateTemplate;}publicHibernateTemplategetHibernateTemplate(){returnhibernateTemplate;}@OverridepublicvoiddeleteOrg(intorgId){this.getHibernateTemplate().delete(this.findOrg(orgId));}@OverridepublicOrganizationfindOrg(intorgId){return(Organization)this.getHibernateTemplate().load(Organization.class,orgId);}}各位帮帮忙,我弄了好长时间了,实在找不出原因,请高手给予解答,谢谢!
解决方案
解决方案二:
request.put("orgs","orgs");request.put("orgs",orgs);把引号去掉