我的action中取不到数据库的值,前台表格页面时空的,检查代码也发现没问题哪位大神帮我看看

yuanwmeng 2017-12-01 08:32:39

action层

package com.tyjrailsdata.vehicle.web.vehicle.base;

import java.sql.Date;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

import net.sf.json.JSONArray;

import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import org.springframework.beans.factory.annotation.Autowired;

import AFT.base.entity.security.Department;
import AFT.base.entity.security.UserInfo;
import AFT.base.web.base.vo.BaseQueryData;
import AFT.framework.orm.hibernate.Page;
import AFT.framework.web.struts2.CRUDActionSupport;
import AFT.utils.AOFUtil;
import AFT.utils.SessionManager;
import AFT.utils.UtilFuns;

import com.tyjrailsdata.vehicle.entity.base.CarType;
import com.tyjrailsdata.vehicle.service.base.CarTypeManager;

/**
* @author Administrator 动车情况Action
*/
@ParentPackage("crud-default")
@Results({
@Result(name = "tolist", location = "${ctx}/vehicle/base/cartype!list.action?page.pageNo=${page.pageNo}", type = "redirect"),
@Result(name = "totaskslist", location = "${ctx}/vehicle/base/cartype!list.action?page.pageNo=${page.pageNo}&queryData.schedule=1", type = "redirect") })
public class CartypeAction extends CRUDActionSupport<CarType> {

private static final long serialVersionUID = 1L;
private Long id;
private UserInfo userInfo;
// 现场检查服务注入
@Autowired
private CarTypeManager carTypeManager;

// 现场检查vo
private CarType entity = new CarType();
private Page<CarType> page = new Page<CarType>(10, true);

// 公共查询条件类
private BaseQueryData queryData = new BaseQueryData();

// 部门类
private Department department = new Department();
private Page<Department> depts = new Page<Department>(10, true);

// 回显下拉列表
private Integer state = 0;

// 车型下拉列表
private List<String> listType = new ArrayList<String>();

public List<String> getListType() {
return listType;
}

public void setListType(List<String> listType) {
this.listType = listType;
}

private List<String> getType() {
List<String> listType = new ArrayList<String>();

listType.add("C63");
listType.add("C76");
listType.add("C80");
listType.add("C80H");
listType.add("C80B");
listType.add("C80BH");
listType.add("C80F");
listType.add("C80E");
return listType;
}

@Override
public CarType getModel() {
// TODO Auto-generated method stub
return entity;
}

@Override
public String list() throws Exception {
listType = getType();
if (null != queryData.getStartDateHMS()
|| null != queryData.getEndDateHMS()) {
state++;
}
page = carTypeManager.getObjects(page, entity, queryData);

// 当前页大于分页记录数置1
if (page.getPageNo() > page.getTotalPages()) {
page.setPageNo(1);
}
return LIST;
}

@Override
public String input() throws Exception {
// TODO Auto-generated method stub
listType = getType();
UserInfo userInfo = new UserInfo();
userInfo.setName(SessionManager.getLoginUserName());
entity.setUserInfo(userInfo);
return INPUT;
}

@Override
public String save() throws Exception {
// TODO Auto-generated method stub
Date sqlDate = AOFUtil.getCurrentSqlDate(0);
if (entity.getCreateTime() == null) {
entity.setCreateTime(sqlDate);
}
// 判断如果用户为空,则使用登陆用户保存
if (entity.getUserInfo() != null
&& entity.getUserInfo().getId() != null) {
} else {
UserInfo userInfo = new UserInfo();
userInfo.setId(SessionManager.getLoginUserId());
entity.setUserInfo(userInfo);
}
carTypeManager.save(entity);
if (UtilFuns.isNotEmpty(queryData.getSchedule())) {
return "totaskslist";
} else {
return "tolist";
}

}

@Override
public String update() throws Exception {
entity = carTypeManager.getObjectById(id);
listType = getType();
return INPUT;
}

@Override
public String view() throws Exception {
// TODO Auto-generated method stub
entity = carTypeManager.getObjectById(id);
return VIEW;
}

@Override
public String delete() throws Exception {
// TODO Auto-generated method stub
StringTokenizer delTokens = new StringTokenizer(getAssembleDelId(), ",");
while (delTokens.hasMoreTokens()) {
Long id = Long.valueOf(delTokens.nextToken());
carTypeManager.remove(id);
}
renderText("true");
return null;
}

public String deleteByID() throws Exception {
// TODO Auto-generated method stub
carTypeManager.remove(id);
return list();
}

/**
* 通过deptId来判断用户是否有权限来进行修改
*
* @return
*/
public String updateOperateByAjax() {
CarType carType = carTypeManager
.getObjectById(id);
Long deptId = SessionManager.getDepartmentId();
boolean workState = false;
if (carType != null && carType.getDept() != null) {
if (deptId != null) {
if (deptId.equals(carType.getDept().getId())) {
workState = true;
}
}
}
JSONArray jsonArray = JSONArray.fromObject(workState);
renderTextJSONGBK(jsonArray.toString());
return null;
}

/**
* 通过deptId来判断用户是否有权限来进行删除
*
* @return
*/
public String deloperateByAjax() {
StringTokenizer delTokens = new StringTokenizer(getAssembleDelId(), ",");
Long deptId = SessionManager.getDepartmentId();
boolean workState = true;

while (delTokens.hasMoreTokens()) {
Long id = Long.valueOf(delTokens.nextToken());
CarType carType = carTypeManager
.getObjectById(id);
if (carType != null && carType.getDept() != null) {
if (deptId != null) {
if (!deptId.equals(carType.getDept().getId())) {
workState = false;
break;
}
}
}
}

JSONArray jsonArray = JSONArray.fromObject(workState);
renderTextJSONGBK(jsonArray.toString());
return null;
}

@Override
protected void prepareModel() throws Exception {
// TODO Auto-generated method stub
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public CarType getEntity() {
return entity;
}

public void setEntity(CarType entity) {
this.entity = entity;
}

public Page<CarType> getPage() {
return page;
}

public void setPage(Page<CarType> page) {
this.page = page;
}

public Page<Department> getDepts() {
return depts;
}

public void setDepts(Page<Department> depts) {
this.depts = depts;
}

public Department getDepartment() {
return department;
}

public void setDepartment(Department department) {
this.department = department;
}

public Integer getState() {
return state;
}

public void setState(Integer state) {
this.state = state;
}

public BaseQueryData getQueryData() {
return queryData;
}

public void setQueryData(BaseQueryData queryData) {
this.queryData = queryData;
}

public UserInfo getUserInfo() {
return userInfo;
}

public void setUserInfo(UserInfo userInfo) {
this.userInfo = userInfo;
}

}

...全文
189 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanwmeng 2017-12-01
  • 打赏
  • 举报
回复
引用 1 楼 yuanwmeng 的回复:
实体类
package com.tyjrailsdata.vehicle.entity.base;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.TableGenerator;

import AFT.base.entity.security.Department;
import AFT.base.entity.security.UserInfo;

@Entity
@Table(name = "VEHICLE_CAR_TYPE")
public class CarType {

	private Long Id; // 主键
	private String carType;// 车辆类型
	private Long carNumber;// 车辆数量
	private Date createTime;// 创建时间

	// 外键关联
	private UserInfo userInfo;// 用户表
	private Department dept;// 部门权限

	@Id
	@TableGenerator(name = "tab_pk", table = "PKS_RMDM", pkColumnName = "G_KEY", pkColumnValue = "VEHICLE_BULLET_TRAIN_INFO", valueColumnName = "G_VALUE", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.TABLE, generator = "tab_pk")

	public Date getCreateTime() {
		return createTime;
	}


	public Long getId() {
		return Id;
	}


	public void setId(Long id) {
		Id = id;
	}


	public String getCarType() {
		return carType;
	}

	public void setCarType(String carType) {
		this.carType = carType;
	}

	public Long getCarNumber() {
		return carNumber;
	}

	public void setCarNumber(Long carNumber) {
		this.carNumber = carNumber;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
    @ManyToOne
    @JoinColumn(name="userid")
	public UserInfo getUserInfo() {
		return userInfo;
	}

	public void setUserInfo(UserInfo userInfo) {
		this.userInfo = userInfo;
	}
    @ManyToOne
    @JoinColumn(name="deptid")
	public Department getDept() {
		return dept;
	}

	public void setDept(Department dept) {
		this.dept = dept;
	}

}
service层

package com.tyjrailsdata.vehicle.service.base;

import java.util.List;
import java.util.SortedSet;

import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import AFT.base.entity.security.Department;
import AFT.base.web.base.vo.BaseQueryData;
import AFT.framework.orm.hibernate.Page;
import AFT.framework.orm.hibernate.SimpleHibernateTemplate;
import AFT.framework.utils.StrUtils;
import AFT.utils.PermissionsManager;
import AFT.utils.SessionManager;
import AFT.utils.UtilFuns;

import com.tyjrailsdata.vehicle.entity.base.CarType;


@Service
// 默认将类中的所有函数纳入事务管理.
@Transactional
public class CarTypeManager {
	private SimpleHibernateTemplate<CarType, Long> dao;
	private SimpleHibernateTemplate<Department, Long> deptDao;	
	@Autowired
	private PermissionsManager permissionsManager;

	@Autowired
	public void setSessionFactory(SessionFactory sessionFactory) {
		dao = new SimpleHibernateTemplate<CarType, Long>(sessionFactory,
				CarType.class);
		deptDao = new SimpleHibernateTemplate<Department, Long>(sessionFactory,
				Department.class);
	}

	public void save(CarType entity) {
		//当前部门
		Department dept = SessionManager.getLoginUserDept();
		entity.setDept(dept);
		dao.save(entity);
	}

	public CarType getCarType(Long id) {
		return dao.findUniqueByProperty("carNumber", id);
	}
	
	
	public CarType getCarTypeById(Long id) {
		return dao.get(id);
	}
	public List<CarType> getCarType() {
		return dao.findAll();
	}
	
	public Page<CarType> getObjects(Page<CarType> page, CarType entity,BaseQueryData queryData) {
		Criteria critera = dao.getSession().createCriteria(CarType.class);
		critera.createAlias("userInfo", "u");
		if(UtilFuns.isNotEmpty(queryData.getStartDateHMS())) {
			critera.add(Restrictions.ge("createTime", queryData.getStartDateHMS()));
		}
		if(UtilFuns.isNotEmpty(queryData.getEndDateHMS())) {
			critera.add(Restrictions.le("createTime", queryData.getEndDateHMS()));
		}
		if(null!=entity.getUserInfo()&&null != entity.getUserInfo().getName() && !"".equals(entity.getUserInfo().getName())){
			critera.add(Restrictions.like("u.name", entity.getUserInfo().getName(),MatchMode.ANYWHERE));
		}
		critera.addOrder(Order.desc("createTime")); 
		return dao.findByCriteria(page, critera);
	}
	
	public List<CarType> getObjectsList(Page<CarType> page, CarType entity,BaseQueryData queryData) {
		Criteria critera = dao.getSession().createCriteria(CarType.class);
		critera.createAlias("syszd2", "zd2");
		critera.createAlias("syszd1", "zd1");
		//当前部门ID		
		Long deptId = SessionManager.getDepartmentId();
		//排除session失效、超级用户、管理员情况
		if(null != deptId && 1 != deptId) {
			SortedSet<Long> dataAuthority = permissionsManager.dataAuthority(deptId, 10250l);
			Object[] deptids = dataAuthority.toArray();
			critera.add(Restrictions.in("dept.id", UtilFuns.stringToLong(deptids)));
		}		

		critera.addOrder(Order.desc("id"));
		return dao.findByCriteria(critera);
	}
	
	public Page<Department> getDepts(Page<Department> page, Department entity) {
		Criteria critera = deptDao.getSession().createCriteria(Department.class);
		critera.add(Restrictions.eq("grade.id", Long.valueOf(102)));
		critera.addOrder(Order.asc("createTime"));
		if (StrUtils.stringQuery(entity.getName()))
			critera.add(Restrictions.like("name",
					'%' + StrUtils.removedPercent(entity.getName()) + '%'));
		
		return deptDao.findByCriteria(page, critera);
	}

	
	public CarType getObjectById(Long id) {
		return dao.get(id);
	}

	public List<CarType> getObjects() {
		Criteria critera = dao.getSession().createCriteria(CarType.class);
		critera.addOrder(Order.desc("id"));
		return dao.findByCriteria(critera);
	}
	
	public List<CarType> getpra() {
		Criteria critera = dao.getSession().createCriteria(CarType.class);
		return dao.findByCriteria(critera);
	}

	public void remove(Long id) {
		dao.delete(id);
	}

	
	

	
		
		
}

yuanwmeng 2017-12-01
  • 打赏
  • 举报
回复
引用 2 楼 usecf 的回复:
1.你先看看 后台访问数据库有值没 2. 然后在看看后台的值是否传到前端去了 3.再看你解析赋值对不对,导致显示不出来
打了断点,发现就没有从数据库中取出来值,从页面添加也进不去,检查代码也没发现什么问题
usecf 2017-12-01
  • 打赏
  • 举报
回复
1.你先看看 后台访问数据库有值没 2. 然后在看看后台的值是否传到前端去了 3.再看你解析赋值对不对,导致显示不出来
yuanwmeng 2017-12-01
  • 打赏
  • 举报
回复
实体类
package com.tyjrailsdata.vehicle.entity.base;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.TableGenerator;

import AFT.base.entity.security.Department;
import AFT.base.entity.security.UserInfo;

@Entity
@Table(name = "VEHICLE_CAR_TYPE")
public class CarType {

	private Long Id; // 主键
	private String carType;// 车辆类型
	private Long carNumber;// 车辆数量
	private Date createTime;// 创建时间

	// 外键关联
	private UserInfo userInfo;// 用户表
	private Department dept;// 部门权限

	@Id
	@TableGenerator(name = "tab_pk", table = "PKS_RMDM", pkColumnName = "G_KEY", pkColumnValue = "VEHICLE_BULLET_TRAIN_INFO", valueColumnName = "G_VALUE", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.TABLE, generator = "tab_pk")

	public Date getCreateTime() {
		return createTime;
	}


	public Long getId() {
		return Id;
	}


	public void setId(Long id) {
		Id = id;
	}


	public String getCarType() {
		return carType;
	}

	public void setCarType(String carType) {
		this.carType = carType;
	}

	public Long getCarNumber() {
		return carNumber;
	}

	public void setCarNumber(Long carNumber) {
		this.carNumber = carNumber;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
    @ManyToOne
    @JoinColumn(name="userid")
	public UserInfo getUserInfo() {
		return userInfo;
	}

	public void setUserInfo(UserInfo userInfo) {
		this.userInfo = userInfo;
	}
    @ManyToOne
    @JoinColumn(name="deptid")
	public Department getDept() {
		return dept;
	}

	public void setDept(Department dept) {
		this.dept = dept;
	}

}

10,607

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧