SSH2问题(弄好长时间,没有出来)各位帮忙
qjldx 2011-04-09 03:58:21 最近在做一个SSH2整合时,遇到两个问题一个是在Action中传递参数时,用requestAware 接口时,参数传不到网页
public class OrgAction extends ActionSupport implements RequestAware {
private int parentId;
private List<Organization> orgs;
private Map<String ,Object> request;
public List<Organization> getOrgs() {
return orgs;
}
public void setOrgs(List<Organization> orgs) {
this.orgs = orgs;
}
private OrgManager orgManager=new OrgManagerImpl();;
public OrgManager getOrgManager() {
return orgManager;
}
@Resource(name="orgManager")
public void setOrgManager(OrgManager orgManager) {
this.orgManager = orgManager;
}
public String execute() {
orgs=orgManager.findOrgs(parentId);
//此处为空,就是传不到网页上,
request.put("orgs", "orgs");
System.out.println("the orgs is "+orgs.size());
return "success";
}
public void setParentId(int parentId) {
this.parentId = parentId;
}
public int getParentId() {
return parentId;
}
public void setRequest(Map<String, Object> request) {
this.request=request;
}
}
还有一个就是用hibernateTemplate来实现的方法也是数据为空
代码如下:package com.oa.manager.impl;
import java.util.List;
import javax.annotation.Resource;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Component;
import com.oa.manager.OrgManager;
import com.oa.model.Organization;
@Component("orgManager")
public class OrgManagerImpl implements OrgManager {
private HibernateTemplate hibernateTemplate;
@Override
public List<Organization> findOrgs(int parentId) {
/* parentId=0;
if (parentId==0){
return this.getHibernateTemplate().find("from Organization o where o.parent.id is null");
}else {
return this.getHibernateTemplate().find("from Organization o where o.parent.id=?"+parentId);
}*/此处用上面的方法就是为空,但是用下面的就能出结果
AnnotationConfiguration acf=new AnnotationConfiguration().configure();
SessionFactory sf=acf.buildSessionFactory();
Session s=sf.openSession();
s.beginTransaction().begin();
List<Organization> t=(List<Organization>)s.createQuery("from Organization o where o.parent.id is null").list();
System.out.println(t.size());
s.beginTransaction().commit();
return t;
}
@Override
public void modifyOrg(Organization org, int parentId) {
if(parentId!=0){
org.setParent((Organization)this.getHibernateTemplate().load(Organization.class, parentId));
}
this.getHibernateTemplate().update(org);
}
@Resource
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
@Override
public void deleteOrg(int orgId) {
this.getHibernateTemplate().delete(this.findOrg(orgId));
}
@Override
public Organization findOrg(int orgId) {
return (Organization)this.getHibernateTemplate().load(Organization.class, orgId);
}
}
各位帮帮忙,我弄了好长时间了,实在找不出原因,请高手给予解答,谢谢!