日期:2014-05-17  浏览次数:20831 次

各位大拿,帮小虾一个忙?急!
目前在做一个survey的调查软件,其中对于一个问题一个问题回答的情况,如何保存前面答过的题,小虾有点茫然,希望各位大拿帮帮小虾。以前对一个问题一个问题展示(即one by one),是将所有问题查询出来显示到页面,然后利用js来做隐藏,这样的做法不好,所以现在想改用每个问题都要从后台查询出来,然后显示到页面中。但是这样会产生一个问题,那如何保存之前答过的答案呢?难道是要每答完一次就保存一次吗? 有没有更好的办法呢?希望各位多多提意见,给我参考。谢谢

------解决方案--------------------
存个session行么
------解决方案--------------------
其实一次一次的保存没什么不好的,可以确保数据不被丢失,你可以在点击显示下一题的时候调用一个异步清楚,页面上我们可以继续下一题,后台在插入上面的答案!不知道你实际用这种行不行!
------解决方案--------------------
可以把 当前页对象传到前台呀,然后遍历当前页对象。
答案用map 存储,放在session中(存储的是页面传来的索引)。map<pageid,answews[]>
------解决方案--------------------
兄弟,你的想法是对的!

1、答完一题,保存一个题的答案,等保存成功了!在把他查询出来会选到页面中。

因为这样做有一个好处,你都已经发现了!如果把所有的问题答案都放到页面上,等所有的问题都回答完了,再
保存的话,如果这时候页面卡死了!或者断电了!或者你误操作,把页面关掉了!那么你之前回答的问题答案不是都没有了吗?

所以我建议你用 ajax 做吧,等一个题答完后,前台操作后台自动将数据保存,在会选到页面,代码很好实现的!


------解决方案--------------------
这个东西……页面间通过action传值不是很常用的吗?
把用户选择的答案存成一个List<Map<id,value>>,id是题目编号,value是选中状态,0:未选择,1:选择。id就是数据库中题目的ID

提交页面时,提交这个属性,并在action中始终保持这个属性就行了……,再回到这个页面时,根据List里面的值用js再重新设定一遍就行了…………………………

这~~这~~这~~这~~