java吧 关注:1,271,138贴子:12,778,470
  • 11回复贴,共1

关于从页面获取数据到Action 的问题,求大神帮忙看看

只看楼主收藏回复

下面是代码
Project 实体类
@Entity
public class Project {
//项目id
@Id
@GeneratedValue()
@Column(name="project_id")
private int project_id;
//===================================================
//项目名称
@Column(name="project_name",length=50)
private String project_name;
//===================================================
//客户id(外键)
@ManyToOne(fetch=FetchType.LAZY) //
@JoinColumn(name="customer_id")
private Customer customer;
//===================================================
//项目经理(外键)
@ManyToOne(fetch=FetchType.LAZY) //
@JoinColumn(name="project_manager")
private Staff manager;
//===================================================
//开发人数
@Column(name="developer_number")
private int developer_number;
//===================================================
//开始时间
@Column
@Temporal(TemporalType.DATE)
private Date project_begin_time;
//===================================================
//结束时间
@Column
@Temporal(TemporalType.DATE)
private Date project_end_time;
//===================================================
//立项时间
@Column
@Temporal(TemporalType.DATE)
private Date project_add_time;
//===================================================
//预估成本
@Column
private int project_budget;
//===================================================
//优先级
@Column(name="project_rank")
private int project_level;
//===================================================
//备注
@Column(length=1024)
private String project_comment;
//===================================================
//状态
@Column(name="project_state")
private String project_state;


IP属地:湖南1楼2015-11-11 18:45回复
    Action 代码
    // 项目添加
    HttpServletRequest request = ServletActionContext.getRequest();
    @Resource(name="projectService")
    private ProjectService projectService;
    private Project project;
    private Demand demand;
    public Demand getDemand() {
    return demand;
    }
    public void setDemand(Demand demand) {
    this.demand = demand;
    }
    public void setProject(Project project) {
    this.project = project;
    }
    public String baseAdd(){
    String customer = request.getParameter("customer");
    /*String mustomer_name = request.getParameter("mustomer_name");*/
    String manager = request.getParameter("manager");
    String project_rank = request.getParameter("project_rank");
    System.out.println(customer);
    int p = Integer.parseInt(project_rank);
    System.out.println("ss");
    Customer c = customerQuery(customer);
    Staff m = managerQuery(manager);
    project.setCustomer(c);
    project.setManager(m);
    project.setProject_level(p);
    System.out.println(project.getProject_budget());
    int i = projectService.baseAdd(project);
    if(i != 0){
    return "base_queryAll";
    }
    return "base_Add";
    }
    //查询客户ID
    public Customer customerQuery(String customer){
    System.out.println("查询客户ID");
    return projectService.customerQuery(customer);
    }
    //查询人员ID
    public Staff managerQuery(String manager){
    System.out.println("查询人员ID");
    return projectService.managerQuery(manager);
    }


    IP属地:湖南2楼2015-11-11 18:46
    回复
      2025-07-26 03:10:48
      广告
      不感兴趣
      开通SVIP免广告
      还有实现类代码
      @Transactional(propagation=Propagation.NOT_SUPPORTED)
      public int baseAdd(Project project) {
      System.out.println("执行了daoimpl中的baseAdd方法");
      sessionFactory.getCurrentSession().persist(project);
      return 1;
      }
      @Transactional(propagation=Propagation.NOT_SUPPORTED)
      public Customer customerQuery(String customer) {
      Customer c= (Customer) sessionFactory.getCurrentSession().createQuery("from Customer where mustomer_company=?").setString(0, customer);
      return c;
      }
      @Transactional(propagation=Propagation.NOT_SUPPORTED)
      public Staff managerQuery(String manager) {
      Staff m= (Staff) sessionFactory.getCurrentSession().createQuery("from Staff where staff_name=?").setString(0, manager);
      return m;
      }


      IP属地:湖南3楼2015-11-11 18:47
      回复
        再就是Jsp页面
        <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>添加项目信息</title>
        <link rel="stylesheet" type="text/css" href="skin/css/base.css">
        <script type="text/javascript" src="My97DatePicker/WdatePicker.js">
        </script>
        <script type="text/javascript">
        function fun(){
        WdatePicker();
        }
        </script>
        </head>
        <body leftmargin="8" topmargin="8" background='skin/images/allbg.gif'>
        <!-- 快速转换位置按钮 -->
        <table width="98%" border="0" cellpadding="0" cellspacing="1" bgcolor="#D1DDAA" align="center">
        <tr>
        <td height="26" background="skin/images/newlinebg3.gif">
        <table width="58%" border="0" cellspacing="0" cellpadding="0">
        <tr>
        <td >
        当前位置:项目管理>>添加项目基本信息
        </td>
        </tr>
        </table>
        </td>
        </tr>
        </table>
        <form name="form2" action="projectAction_baseAdd" method="post">
        <table width="98%" border="0" cellpadding="2" cellspacing="1" bgcolor="#D1DDAA" align="center" style="margin-top:8px">
        <tr bgcolor="#E7E7E7">
        <td height="24" colspan="12" background="skin/images/tbg.gif">&nbsp;添加新项目信息&nbsp;</td>
        </tr>
        <tr >
        <td align="right" bgcolor="#FAFAF1" height="22">项目名称:</td>
        <td align='left' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
        <input type = "text" name = "project.project_name"/></td>
        <td align="right" bgcolor="#FAFAF1" height="22">客户公司名称:</td>
        <td align='left' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
        <input type="text" name = "customer"/></td>
        </tr>
        <tr>
        <td align="right" bgcolor="#FAFAF1" height="22">客户方负责人:</td>
        <td align='left' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
        <input type="text" name="customer_name" readonly="readonly"/></td>
        <td align="right" bgcolor="#FAFAF1" height="22">项目经理:</td>
        <td align='left' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
        <input type="text" name = "manager"/></td>
        </tr>
        <tr >
        <td align="right" bgcolor="#FAFAF1" height="22">开发人数:</td>
        <td align='left' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
        <input type="text" name = "project.developer_number"/>人</td>
        <td align="right" bgcolor="#FAFAF1" height="22">开始时间:</td>
        <td align='left' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
        <input type="text" name = "project.project_begin_time" onclick="fun();"/></td>
        </tr>
        <tr >
        <td align="right" bgcolor="#FAFAF1" height="22">立项时间:</td>
        <td align='left' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
        <input type="text" name = "project.project_add_time" onclick="fun();"/></td>
        <td align="right" bgcolor="#FAFAF1" height="22">预估成本:</td>
        <td align='left' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
        <input type="text" name = "project.project_budget"/>万</td>
        </tr>
        <tr >
        <td align="right" bgcolor="#FAFAF1" height="22">级别:</td>
        <td align='left' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
        <select name="project_rank"><option value=1>紧急</option><option value=2>一般</option><option value=3>暂缓</option></select></td>
        <td align="right" bgcolor="#FAFAF1" height="22">计划完成时间:</td>
        <td align='left' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
        <input type="text" name = "project.project_end_time" onclick="fun();"/></td>
        </tr>
        <tr>
        <td align="right" bgcolor="#FAFAF1" >备注:</td>
        <td colspan=3 align='left' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';" >
        <textarea rows=15 cols=130 name = "project.project_comment"></textarea>
        </td>
        </tr>
        <tr bgcolor="#FAFAF1">
        <td height="28" colspan=4 align=center>
        &nbsp;
        <input type="submit" name = "save" value="保存"/>
        <a href="project-base.html" class="coolbg">返回</a>
        </td>
        </tr>
        </table>
        </form>
        </body>
        </html>


        IP属地:湖南4楼2015-11-11 18:48
        回复
          由于实体类中有外键,用直接实体类的对象通过get,set方法获取是会出错,实体类中有两个字段的类型是对象,求大神告知如何解决这个问题


          IP属地:湖南5楼2015-11-11 18:50
          回复
            来人啊


            IP属地:湖南6楼2015-11-11 18:51
            回复
              用的是三大框架的集成(Hibernate,spring struts2)


              IP属地:湖南7楼2015-11-11 18:52
              回复
                自顶


                IP属地:湖南8楼2015-11-11 18:52
                回复
                  2025-07-26 03:04:48
                  广告
                  不感兴趣
                  开通SVIP免广告
                  来人


                  IP属地:湖南9楼2015-11-11 18:52
                  回复
                    救命


                    IP属地:湖南10楼2015-11-11 18:52
                    回复
                      help me


                      IP属地:湖南11楼2015-11-11 18:53
                      回复
                        sss


                        IP属地:湖南12楼2015-11-11 19:06
                        回复