jacksonary
2017-04-05 13:50
采纳率: 0%
浏览 2.1k

Java员工管理系统的问题

最近学SSH项目整合的员工管理系统,大部分功能都可以实现,但是在员工管理界面对
员工进行编辑保存后,员工的所属部门一栏就会变成空,新增员工的话,那一栏的属性
也会为空,按一下保存就会报Error setting expression 'department.did' with value '[Ljava.lang.String;@7e7a0b12'和target is null for setProperty(null, "did", [Ljava.lang.String;@7e70b12),调了很久没搞明白,还希望有懂的同学不吝赐教

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • jacksonary 2017-04-05 14:04

    我已将代码上传到网盘以供愿意提供帮助的同学调试,http://pan.baidu.com/s/1mi2qZjU,提前谢谢了

    点赞 打赏 评论
  • 编程爱好者熊浪 2017-04-05 14:04
    点赞 打赏 评论
  • jacksonary 2017-04-05 14:11

    1.EmployeeAction.java
    package com.muke.employee.action;

    import java.util.List;
    import com.muke.employee.domain.Department;
    import com.muke.employee.domain.Employee;
    import com.muke.employee.domain.PageBean;
    import com.muke.employee.service.DepartmentService;
    import com.muke.employee.service.EmployeeService;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionSupport;
    import com.opensymphony.xwork2.ModelDriven;

    /*

    • 员工管理的Action类
      */
      public class EmployeeAction extends ActionSupport implements ModelDriven{

      //模型驱动所需的对象
      private Employee employee = new Employee();

      //使用模型驱动接收参数
      @Override
      public Employee getModel() {
      // TODO Auto-generated method stub
      return employee;
      }

      //注入业务层的类
      private EmployeeService employeeService;

      public void setEmployeeService(EmployeeService employeeService) {
      this.employeeService = employeeService;
      }

      //登陆执行的方法
      public String login(){
      System.out.println("login方法执行了。。。");
      //调用业务层的类
      Employee existEmployee = employeeService.login(employee);
      if(existEmployee == null){
      //登录失败
      this.addActionError("用户名或密码错误!");
      return INPUT;

      }else{
      //登陆成功
      ActionContext.getContext().getSession().put("existEmployee", existEmployee);
      return SUCCESS;
      }
      }

      //接受当前的页数
      private Integer currPage = 1;

      public void setCurrPage(Integer currPage) {
      this.currPage = currPage;
      }

      //分页查询员工方法
      public String findAll(){
      PageBean pageBean = employeeService.findByPage(currPage);
      //将pageBean存放到值栈中
      ActionContext.getContext().getValueStack().push(pageBean);
      return "findAll";
      }

      //注入部门管理的Service
      private DepartmentService departmentService;
      public void setDepartmentService(DepartmentService departmentService) {
      this.departmentService = departmentService;
      }

      //跳转到添加员工页面的方法
      public String saveUI(){
      //查询所有部门
      List list = departmentService.findAll();
      //将结果保存到值栈中,集合用set,对象用push
      ActionContext.getContext().getValueStack().set("list", list);
      //ServletActionContext.getRequest().setAttribute("list", list);
      System.out.println(list);
      return "saveUI";
      }

      //添加员工的执行方法
      public String save(){
      employeeService.save(employee);
      return "saveSuccess";
      }

      //编辑员工的执行方法
      public String edit(){
      //根据Id查询员工
      employee = employeeService.findById(employee.getEid());
      //查询所有部门
      List list = departmentService.findAll();
      ActionContext.getContext().getValueStack().set("list", list);
      return "editSuccess";
      }

      //修改员工的执行方法
      public String update(){
      employeeService.update(employee);
      return "updateSuccess";
      }

      //删除员工的执行方法
      public String delete(){
      employee = employeeService.findById(employee.getEid());
      employeeService.delete(employee);
      return "deleteSuccess";
      }
      }

    
    
    点赞 打赏 评论
  • jacksonary 2017-04-05 14:18

    2.员工添加界面
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib uri="/struts-tags" prefix="s"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">










    员工添加

    保存   
    退回




























    姓     名  :        性     别  :
    所属部门:        工     号  :
    出生日期:        入职日期:
    账户名称:        账户密码:

    /s:form

    
    
    点赞 打赏 评论
  • 从微笑开始幸福 2017-04-06 02:16

    你保存该字段,该字段值为空。你看看你的sql语句有没有问题

    点赞 打赏 评论
  • 从微笑开始幸福 2017-04-07 01:16

    就是自动生成的,会有这种情况出现,会有默认没有改动就设为空的,你看看自动生成的有几个update方法

    点赞 打赏 评论

相关推荐 更多相似问题