急急急,添加学生信息的action改怎么写

来源:3-9 添加学生资料-实现添加学生资料业务逻辑

夏飞雪

2016-11-06 00:14

老师漏讲了,小白一个,刚开始学习,求大神指教添加学生信息的action改怎么写。求代码

写回答 关注

3回答

  • 张阿力
    2016-11-06 23:20:36
    已采纳

    public String addStudent(){

    StudentsDao studentsDao=new StudentsDaoImpl();

    studentsDao.addStudent(stu);

    return "add_success";

    }

    前提是运用模型驱动将页面中表单的数据传递到stu之中

    具体代码 让action类继承ModelDriven<Students>

    同时加上

    private Students stu=new Students();

    @Override

    public Students getModel() {

    // TODO Auto-generated method stub

    return this.stu;

    }

    这样就ok (从页面哪里传递过来并没有sid 此时stu对象中sid为null,可在studentdao中通过getsid()方法实现为stu添加sid),最后再将stu对象存入数据库即可!!

    夏飞雪

    非常感谢!

    2016-11-06 23:42:40

    共 1 条回复 >

  • 246小言
    2016-11-08 22:08:48

    <package name="students" namespace="/students" extends="default">

    <action name="*_*" class="action.{1}Action" method="{2}">

    <result name="query_success">/students/Students_query_success.jsp</result>

    <result name="delete_success" type="chain">Students_query</result>

    <result name="add_success">/students/Students_add_success.jsp</result>

    </action>

    </package>

    // 使用模型驱动获取从表单提交过来的信息

    public String add() throws ParseException {

    // 获取前台表单提交的学生姓名

    String sname = this.request.getParameter("sname");

    // 获取表单提交的学生性别.

    String gender = this.request.getParameter("gender");

    // 获取表单提交的出生日期,字符串形式.

    String birthday = this.request.getParameter("birthday");

    // 获取表单提交的地址

    String address = this.request.getParameter("address");

    // 创建一个Student对象,为其初始化.

    Students stu = new Students();

    // 初始化姓名

    stu.setSname(sname);

    // 初始化性别

    stu.setGender(gender);

    // 将前台表单提交的出生日期(字符串形式)类型,转换为Date类型,因此Student中保存的是Date类型.

    SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");

    Date date=simpleDateFormat.parse(birthday);

    //初始化出生日期

    stu.setBirthday(date);

    //初始化地址信息

    stu.setAddress(address);

    //调用添加学生的方法,把学生对象传进去,学号即主键会在Dao的方法中获取并设置.

    //

    // System.out.println("stu==========="+stu.toString());

    StudentsDAO studentsDAO = new StudentsDAOImpl();

    studentsDAO.addStudents(stu);//使用模型驱动获取从表单提交过来的信息

    System.out.println("stu==========="+stu.toString());

    return "add_success";

    }


    夏飞雪

    谢谢!

    2016-11-09 18:50:42

    共 1 条回复 >

  • 张阿力
    2016-11-06 23:25:18

    当然你也可以不用模型驱动的方法  可以像老师那样。用request获取form中属性值,然后再存入具体的students对象中,再调用业务逻辑层,无外乎就是几个set/get方法的调用,这里就不演示了!

使用Struts2+Hibernate开发学生信息管理功能

Strust2+Hibernate整合开发案例,Java Web开发技能更上一层楼

80701 学习 · 754 问题

查看课程

相似问题