ssh关于含有外键的传值中无法识别正确的action的原因和解决办法
2017-05-13 01:52
381 查看
在含有外键的表中,要保存一个值到这个外键时:
逻辑思路:
需要先将jsp页面的值传到相应的action中,在这个action中需要引入这个外键的实体层和DAO层(DAO层只需set方法),在执行函数中对于外键的传值,应该先根据外键DAO层的方法来将这个外键传给外键的对象,然后将这个对象通过此表中的实体类中的方法保存到该表中。
jsp:
action:
配置:
在spring的事务管理配置中需要将这个表需要注入的DAO和外键需要注入的DAO都配置上。
否则会因为事务逻辑问题引起的无法识别action的500错误。
逻辑思路:
需要先将jsp页面的值传到相应的action中,在这个action中需要引入这个外键的实体层和DAO层(DAO层只需set方法),在执行函数中对于外键的传值,应该先根据外键DAO层的方法来将这个外键传给外键的对象,然后将这个对象通过此表中的实体类中的方法保存到该表中。
jsp:
<div class="form-group has-warning"> <label class="control-label" for="inputWarning">请输入班级编号</label> <input name="studentclass" type="text" class="form-control" id="inputWarning"> </div>
action:
//变量(与外键相关的) private String studentclass = ""; private Classunit classunit; private ClassunitDAO classunitDAO; //函数 public String getStudentclass() { return studentclass; } public void setStudentclass(String studentclass) { this.studentclass = studentclass; } public Classunit getClassunit() { return classunit; } public void setClassunit(Classunit classunit) { this.classunit = classunit; } public void setClassunitDAO(ClassunitDAO classunitDAO) { this.classunitDAO = classunitDAO; } public String execute() throws Exception { System.out.println("执行add的action"); if(studentService.checkStudentnumber(getStudentnumber())) { return ERROR; } else { System.out.println(studentclass); studentex = new Student(); studentex.setStudentNumber(studentnumber); studentex.setStudentName(studentname); studentex.setStudentGender(studentgender); studentex.setStudentBirth(studentbirth); studentex.setStudentPassword(studentpassword); studentex.setStudentPhone(studentphone); studentex.setStudentAddress(studentaddress); classunit = classunitDAO.findclassunitnumber(studentclass); studentex.setClassunit(classunit); studentService.addStudent(studentex); } return SUCCESS; }
配置:
在spring的事务管理配置中需要将这个表需要注入的DAO和外键需要注入的DAO都配置上。
<!-- 新建学生 --> <bean id="StudentAddAction" class="com.zdr.action.StudentAddAction"> <property name="studentService" ref="StudentServiceImpl"/> <property name="classunitDAO" ref="ClassunitDAO"/> </bean>
否则会因为事务逻辑问题引起的无法识别action的500错误。
相关文章推荐
- 关于CentOS 6.6忘记密码和输入正确密码依旧无法登录的解决办法
- 关于三星某些系列笔记本电脑无法安装Windows10的原因及解决办法
- Ubuntu下mount windows分区无法正确识别中文文件名的解决办法
- 各种“无法连接至设备。请确定已正确连接设备并重试”的可能的原因及解决办法
- 关于在DSPbuilder下含有MegaCoreFunction的模块无法保存问题的解决办法
- Java(其实是计算机系统的通病,而不单单是Java的问题,C、C++等任何语言都有这个问题)关于小数的运算结果,不正确不精确,原因剖析,及解决办法
- jQuery 关于IE9上传文件无法进入后台问题的原因及解决办法
- 关于Word2013中非微软输入无法正确输入中文双引号的终极解决办法
- 关于idea中无法正确依赖本地仓库,且无法连接远程仓库的解决办法
- 关于《安装visual studio 2008下subversion插件ankhsvn2.4导致vs无法正常启动的原因以及解决办法》
- 关于魅族(魅蓝)手机Toast无法显示原因的解决办法是?
- jQuery 关于IE9上传文件无法进入后台问题的原因及解决办法(ajaxfileupload.js第四弹)
- 关于PL\SQL无法在64位Client下使用的原因及解决办法
- jQuery 关于IE9上传文件无法进入后台原因及解决办法(ajaxfileupload.js第四弹) 推荐
- 关于装了VMware之后VS2005无法使用的原因以及解决办法
- CentOS ping百度无法识别主机原因和解决办法
- ls command not found vi command not found 只要的原因是因为环境变量的问题,编辑profile文件没有写正确,导致在命令行下 ls等命令不能够识别。 解决办法:
- 关于CentOS 6.6忘记密码和输入正确密码依旧无法登录的解决办法
- [导入]关于无法创建aps.web项目的解决办法
- 关于无法创建aps.web项目的解决办法