在做在线考试~请问如何在一个jsp页面里实现一道一道题目通过点下一题的出现
本来所有的题目存在数据库内,通过sql语句得到list放到一个域,读取这个域用for循环就所有的题目都显示出来到一张试卷里。现在我想要一个页面一次出现一道题目,点击下一题就下一题,上一题就上一题,这个应该是用什么思路去实现啊?求帮助啊~~~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
js的事儿
呵呵 next pre
全部放页面上,除当前题目外的都隐藏,在放两个按钮,来控制哪个一个显示即可
实现方式很多,如果一次都查出来,那就前端处理呗,写js,只是需要写较多的js
也可以后端处理,一个jsp就展示一题,需要解决的问题是,如何找到下一题的记录?
其实无非就是维护一个上下题的关系,比如上题知道下题的ID,下题知道上题的ID,或者顺序规则,当前顺序加一减一就能找到上下题,这两种方式需要增加额外的数据库字段,创建/更新试卷时需维护这个字段,
1.这样就需要题目表有一个标识顺序的字段,且是连续的,需要创建的时候把顺序加进去,请求的下一题的时候只要把试卷ID和顺序字段传入后台就能查到具体题目
2.如果是第二种处理方式,那创建试卷的时候需要维护一个类似链表的结构,一条题目记录需要知道上下题的ID,上题为空的为第一个,下题为空的为最后一个,进入下一题只需要页面传入下一题的ID就可以拿到题目的数据
3.还有就是不新增字段,按其他字段顺序排序(甚至直接不排序,用默认的),就把试卷所有题目的list存入session,页面做下标记当前下标是几,去session取下一个题目的对象即可
4.如果懒得做session,那就直接写sql搞出个顺序来(比如oracle的rownum),然后页面按照第一条处理
首先应该有题库,在题库中选择试题生成一套试卷,试卷中有,试卷ID、试题ID、排序。答题选择试卷进行,上一题为序号减一,下一题序号加一,修改试卷需重新生成排序。