现在有3个主要数据表:
1.用户表(y_id,name,password)
2.问题表(w_id,title,A,B,C,D)
3.答案表(d_id,y_id,w_id,answer)
答案表中y_id,w_id是外键,answer是答案,就是储存abcd的。(或者有人说这样设计数据库合理,会很费空间,但是我为了方面之后的多维数据分析。因为我不需要计算分数,要想知道每个人每一题选了那个选项,而且问题题目数量是不固定的)
假如大家有好的设计方法请赐教!!谢谢!
现在我有这样的问题,就是不知道如何才可以在jsp页面了提交一次表单可以插入多行数据。
举个例说吧:假如一份问卷有10个题目,一个人做了这份问卷,就相当于要插入10行数据。我如何才可以做到呢?我希望jsp页面只有一个提交按键就可以实现了!!大家有办法吗?谢谢大家了!!
21 个解决方案
#1
用request.getParameteValues方法接收多重数据,
返回一个数组,循环此数组,在里面做添加的业务即可!
返回一个数组,循环此数组,在里面做添加的业务即可!
#2
我刚刚看到这样的方法,应该可以吧!我尝试一下!不过我的是单选题,假如表单属性名相同,就只能提交一个数据了!!如何可以jsp页面提交多条数据呢?
#3
有人帮我解决吗?单选题,如何可以一次保存多条数据呢?
#4
学习了,帮顶.......
#5
帮顶
#6
顶一楼的。
#7
要的就是表单属性名相同,不然,还需要用getParameterValues吗?
记住:问题和答案既可以页面进行绑定,也可在后台进行处理,对应好就行,不然就乱套了,没有作出选择的,判断一下,用Null代替!继续努力!
#8
你想的复杂了啊,你得到所有的答案以后就可以插入数据库中,最主要的是你生成问卷的时候,为每个题目生成的name属性的名称,你在取的时候根据这个规则去取答案啊!
#9
可以的,用request.getParameteValues方法接收多重数据
或者自己写个按笔数收集页面数据的类,
然后在后台循环遍历就ok了
或者自己写个按笔数收集页面数据的类,
然后在后台循环遍历就ok了
#10
前台JSP页面 用容器保存用户修改的ID
id1 1 add
id2 2 edit
id3 2 delete
把数据传到后台JAVA 根据标志位处理。
id1 1 add
id2 2 edit
id3 2 delete
把数据传到后台JAVA 根据标志位处理。
#11
做个隐藏项,用JS脚本,把每个题目的ID,选择的值赋给隐藏项,然后你就可以处理这个字符串啊。
例如:第一题ID是1,选择的值是A,第二题ID是2,选择的值是B,,你就可以定义下面的格式值,1-A/2-B,放到隐藏想,然后用jsp或action去处理这个字符串,你要处理简单,必须用到js脚本。不知道你满意不。
例如:第一题ID是1,选择的值是A,第二题ID是2,选择的值是B,,你就可以定义下面的格式值,1-A/2-B,放到隐藏想,然后用jsp或action去处理这个字符串,你要处理简单,必须用到js脚本。不知道你满意不。
#12
用每一个表单表示一道题,再JS一个一个 的提交,不知可否?!
#13
我用的是struct架构,表单中的属性名必须和actionform中的属性名相同的,可以把属性名变为不同吗?
#14
像你这种要动态的,肯定用Struts不好做,你就直接用html的标签+js去处理前段,后台你用action去实现你的业务就行了。
#15
HttpServletRequest里有个以request.getParameterNames()的方法,
这个方法有所有的request里提交的prameter的名字。
拿到这个方法以后,再可以使用request.getParameterValues(parametername)
这个方法得到这个parameter对应的参数值,这里之所以用getParameterValues而不是getParameterValue了,是因为你这里有一些多选题,用getParameterValue就拿的不正确了。
这个方法有所有的request里提交的prameter的名字。
拿到这个方法以后,再可以使用request.getParameterValues(parametername)
这个方法得到这个parameter对应的参数值,这里之所以用getParameterValues而不是getParameterValue了,是因为你这里有一些多选题,用getParameterValue就拿的不正确了。
#16
request.getParameterNames()返回的是一个enumeration类型的变量。遍历她。
#17
同意。
#18
学习
#19
感觉楼上的方法都有些牵强哦,reques.getParameterValues()是用于诸如复选框这样的可以多选的的值的,还有HttpServletRequest中的request.getParamNames()应该是获取标签的值的
#20
你可以在jsp页面的表单中利用i++把单选名控制不同,然后提交到java文件处理时再利用一个for循环进行插入,这样就可以了!!
#21
高手出来帮个忙啊!
#1
用request.getParameteValues方法接收多重数据,
返回一个数组,循环此数组,在里面做添加的业务即可!
返回一个数组,循环此数组,在里面做添加的业务即可!
#2
我刚刚看到这样的方法,应该可以吧!我尝试一下!不过我的是单选题,假如表单属性名相同,就只能提交一个数据了!!如何可以jsp页面提交多条数据呢?
#3
有人帮我解决吗?单选题,如何可以一次保存多条数据呢?
#4
学习了,帮顶.......
#5
帮顶
#6
顶一楼的。
#7
要的就是表单属性名相同,不然,还需要用getParameterValues吗?
记住:问题和答案既可以页面进行绑定,也可在后台进行处理,对应好就行,不然就乱套了,没有作出选择的,判断一下,用Null代替!继续努力!
#8
你想的复杂了啊,你得到所有的答案以后就可以插入数据库中,最主要的是你生成问卷的时候,为每个题目生成的name属性的名称,你在取的时候根据这个规则去取答案啊!
#9
可以的,用request.getParameteValues方法接收多重数据
或者自己写个按笔数收集页面数据的类,
然后在后台循环遍历就ok了
或者自己写个按笔数收集页面数据的类,
然后在后台循环遍历就ok了
#10
前台JSP页面 用容器保存用户修改的ID
id1 1 add
id2 2 edit
id3 2 delete
把数据传到后台JAVA 根据标志位处理。
id1 1 add
id2 2 edit
id3 2 delete
把数据传到后台JAVA 根据标志位处理。
#11
做个隐藏项,用JS脚本,把每个题目的ID,选择的值赋给隐藏项,然后你就可以处理这个字符串啊。
例如:第一题ID是1,选择的值是A,第二题ID是2,选择的值是B,,你就可以定义下面的格式值,1-A/2-B,放到隐藏想,然后用jsp或action去处理这个字符串,你要处理简单,必须用到js脚本。不知道你满意不。
例如:第一题ID是1,选择的值是A,第二题ID是2,选择的值是B,,你就可以定义下面的格式值,1-A/2-B,放到隐藏想,然后用jsp或action去处理这个字符串,你要处理简单,必须用到js脚本。不知道你满意不。
#12
用每一个表单表示一道题,再JS一个一个 的提交,不知可否?!
#13
我用的是struct架构,表单中的属性名必须和actionform中的属性名相同的,可以把属性名变为不同吗?
#14
像你这种要动态的,肯定用Struts不好做,你就直接用html的标签+js去处理前段,后台你用action去实现你的业务就行了。
#15
HttpServletRequest里有个以request.getParameterNames()的方法,
这个方法有所有的request里提交的prameter的名字。
拿到这个方法以后,再可以使用request.getParameterValues(parametername)
这个方法得到这个parameter对应的参数值,这里之所以用getParameterValues而不是getParameterValue了,是因为你这里有一些多选题,用getParameterValue就拿的不正确了。
这个方法有所有的request里提交的prameter的名字。
拿到这个方法以后,再可以使用request.getParameterValues(parametername)
这个方法得到这个parameter对应的参数值,这里之所以用getParameterValues而不是getParameterValue了,是因为你这里有一些多选题,用getParameterValue就拿的不正确了。
#16
request.getParameterNames()返回的是一个enumeration类型的变量。遍历她。
#17
同意。
#18
学习
#19
感觉楼上的方法都有些牵强哦,reques.getParameterValues()是用于诸如复选框这样的可以多选的的值的,还有HttpServletRequest中的request.getParamNames()应该是获取标签的值的
#20
你可以在jsp页面的表单中利用i++把单选名控制不同,然后提交到java文件处理时再利用一个for循环进行插入,这样就可以了!!
#21
高手出来帮个忙啊!