做一个在线考试系统,做到填空题时出了个问题,填空题有的每个小题有好几个空,用户考完试后,每个答案之间用一个逗号隔开插入数据库,例如:aa,bb,cc。问题是当用户查看自己做的试卷时,需要在空上显示出对应的答案,例如第一个空上显示aa,第二个空上显示bb,第三个空上显示cc,这个应该怎么做呢?
注:每个题的空数是随机的,不是固定的。

解决方案 »

  1.   

    split放到一个数组里,挨个取值啊
      

  2.   

    1楼正解
    要不也可以用StringTokenizer(s,",");
      

  3.   

    String answer="aa,bb,cc";
    String [] a = answer.split(",");
      

  4.   

    这样做完之后呢?
    我以前jsp用到的数据都是先放在一个list里,然后request.setAttribute把list放到attribute里,然后用EL在jsp中取出。做完这个之后应该怎么做呢?
      

  5.   

    执行完request.setAttribute之后,怎么在jsp中取出数组里的值放入对应的空中呢?
      

  6.   

    request.setAttribute("a",a);之后,用EL   ${a}  ,在页面上显示的是[Ljava.lang.String;@14aa6c3,这个怎么弄啊
      

  7.   

    然后request.setAttribute("a",a);
    然后在jsp用用EL取出  ${a}
    结果是这样的[Ljava.lang.String;@15b4b49
    谁知道怎么弄下啊
      

  8.   

    http://apps.hi.baidu.com/share/detail/24399190
      

  9.   

    这样是可以,但是jsp中不能用到a[0]的时候就写a[0]吧,麻烦说清楚点啊大哥,我很笨的……
      

  10.   

    <c:set value="${dvo.title}" var="text" scope="request"/>
    <c:set value="text_${dvo.question_no_b }_${dvo.question_no_s }" var="text_name" scope="request"/>
    <%=request.getAttribute("text").toString().replaceAll("##", "<input type='text' name='"+request.getAttribute("text_name").toString()+"' value='"+request.getAttribute("text_value").toString()+"'/>")%>
    这个应该怎么放啊,麻烦说清楚点啊大哥们
      

  11.   


    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String test = "我叫##,今年##歲";
    request.setAttribute("text",test);
    %>
    <%
    String answer = "張三,18";
    String[] a = answer.split(",");//將答案分開 String timu = request.getAttribute("text").toString(); for (int i = 0; timu.indexOf("##") != -1; i++) {
    timu = timu.replaceFirst("##", "<input type='text' name='name' value='" + a[i] + "'/>");//循環替換##並賦值
    }

    out.print(timu);
    %>
    你参考一下
      

  12.   

    把每个空的答案都放到一个answer字段里,用一个特殊符号隔开,然后用split读取