开发者社区> 问答> 正文

在做在线考试~请问如何在一个jsp页面里实现一道一道题目通过点下一题的出现:报错

本来所有的题目存在数据库内,通过sql语句得到list放到一个域,读取这个域用for循环就所有的题目都显示出来到一张试卷里。现在我想要一个页面一次出现一道题目,点击下一题就下一题,上一题就上一题,这个应该是用什么思路去实现啊?求帮助啊~~~

展开
收起
kun坤 2020-06-07 14:35:01 768 0
1 条回答
写回答
取消 提交回答
  • 首先应该有题库,在题库中选择试题生成一套试卷,试卷中有,试卷ID、试题ID、排序。答题选择试卷进行,上一题为序号减一,下一题序号加一,修改试卷需重新生成排序。######

    实现方式很多,如果一次都查出来,那就前端处理呗,写js,只是需要写较多的js

    也可以后端处理,一个jsp就展示一题,需要解决的问题是,如何找到下一题的记录?

    其实无非就是维护一个上下题的关系,比如上题知道下题的ID,下题知道上题的ID,或者顺序规则,当前顺序加一减一就能找到上下题,这两种方式需要增加额外的数据库字段,创建/更新试卷时需维护这个字段,

    1.这样就需要题目表有一个标识顺序的字段,且是连续的,需要创建的时候把顺序加进去,请求的下一题的时候只要把试卷ID和顺序字段传入后台就能查到具体题目

    2.如果是第二种处理方式,那创建试卷的时候需要维护一个类似链表的结构,一条题目记录需要知道上下题的ID,上题为空的为第一个,下题为空的为最后一个,进入下一题只需要页面传入下一题的ID就可以拿到题目的数据

    3.还有就是不新增字段,按其他字段顺序排序(甚至直接不排序,用默认的),就把试卷所有题目的list存入session,页面做下标记当前下标是几,去session取下一个题目的对象即可

    4.如果懒得做session,那就直接写sql搞出个顺序来(比如oracle的rownum),然后页面按照第一条处理


    ######全部放页面上,除当前题目外的都隐藏,在放两个按钮,来控制哪个一个显示即可######

    呵呵 next pre


    ######js的事儿######ajax 
    2020-06-07 14:35:05
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载