在含有外键的表中,要保存一个值到这个外键时:
逻辑思路:
需要先将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错误。

ssh关于含有外键的传值中无法识别正确的action的原因和解决办法的更多相关文章

  1. Android-配置文件中设置“android:clickable="false"无效的原因及解决办法

    开发中遇到的问题:要实现一个button初始为不可点击,于是在配置文件中设置了android:clickable="false"运行后发现还是可以点击,于是写在了Activity中 ...

  2. pycharm中某些方法被标黄的原因及解决办法

    在编辑python文件时,会遇到上图所示,函数方法被标黄的问题,但是不影响使用. 引起原因:,如果不报错说明,这是因为你配置的python解释器中有该方法,但是pycharm没有找到这个方法,即加载失 ...

  3. JVM 中发生内存溢出的 8 种原因及解决办法

    1. Java 堆空间 2. GC 开销超过限制 3. 请求的数组大小超过虚拟机限制 4. Perm gen 空间 5. Metaspace 6. 无法新建本机线程 7. 杀死进程或子进程 8. 发生 ...

  4. Linux系统中文件行末尾出现^M的原因及解决办法

    不同系统,有不同的换行符号: 在windows下的文本文件的每一行结尾,都有一个回车('\n')和换行('\r') 在linux下的文本文件的每一行结尾,只有一个回车('\n'); 在Mac下的文本文 ...

  5. mysql进阶(十一)外键在数据库中的作用

    MySQL外键在数据库中的作用 MySQL外键的目的是控制存储在外键表中的数据,使两张表形成关联,是MySQL数据库中非常重要的组成部分,值得我们去深入了解.那么,MySQL外键究竟起到哪些作用呢?下 ...

  6. es6 Object.assign ECMAScript 6 笔记(六) ECMAScript 6 笔记(一) react入门——慕课网笔记 jquery中动态新增的元素节点无法触发事件解决办法 响应式图像 弹窗细节 微信浏览器——返回操作 Float 的那些事 Flex布局 HTML5 data-* 自定义属性 参数传递的四种形式

    es6 Object.assign   目录 一.基本用法 二.用途 1. 为对象添加属性 2. 为对象添加方法 3. 克隆对象 4. 合并多个对象 5. 为属性指定默认值 三.浏览器支持 ES6 O ...

  7. Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法

    Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法 如下面所示,同时导入这两个,会提示其中一个与另一个产生冲突. 1i ...

  8. jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法

    jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法   在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...

  9. eclipse中tomcat发布失败(Could not delete May be locked by another process)原因及解决办法

    在eclipse中tomcat发布项目时,偶尔出现了以下情况: publishing to tomcat v7.0 services at localhost has encountered a pr ...

随机推荐

  1. SHUTDOWN: waiting for active calls to complete

    Problem Description: ====================  You are attempting to shut down the database and the data ...

  2. JavaScript数据类型的检测

    主要有一下四种方法: 1.typeof 2.instanceof 3.constructor 4.Object.prototype.toString.call() 1.typeof 不能具体细分是什么 ...

  3. nginx 1.12 配置解析php

    server { listen 80; server_name foo.com; root /path; index index.html index.htm index.php; location ...

  4. teamviewer14商用试用期到期从新安装使用

    teamviewer14商用试用期到期从新安装使用 1)1.退出TeamViewer远程软件,卸载软件.2)2.按键盘的[win]+[R]组合键打开[运行],输入 %appdata%3)3.在弹出的窗 ...

  5. leetcode819

    public class Solution { public string MostCommonWord(string paragraph, string[] banned) { //"a, ...

  6. ARP跨网段广播

    如果源主机和目的主机不在同一网段,ARP请求的广播帧无法穿过路由器,源主机如何与目标主机实现通信? 补充一下问题,避免因问题不完整而出现误解. ---------------------------- ...

  7. Django 使用体会

    最近急于赶项目,少有更新博文.如今项目大致不那么赶了,终于可以在晚上码字码文章,而不是码代码了. 从开始使用Django开发到现在, 也已经有大半年了.公司的项目也是逐步地加功能,加模块,一步步完善设 ...

  8. MongoDB常用增删改查语句

    数据库database 创建及查看库 1.有则使用这个数据库,没有就创建 use DATABASE_NAME 2. 查看当前选择的数据库,默认是test db 3.查看数据库,默认有admin.loc ...

  9. Java CST格式字符串转换成Date类型的数据

    Date date = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US).parse("We ...

  10. What is _MainTex_ST ?

    [What is _MainTex_ST ?] 在Unity自带的Unlit/Texture中,有引用到float4 _MainTex_ST,如下: // Unlit shader. Simplest ...