我是这样做的:题库里的填空题题目的空都是用##来代替的,例如:我叫##,我喜欢##。然后出完题在jsp中显示是这样做的:<c:forEach var="vo" items="${structlist}">
         <c:set value="${dvo.title}" var="text" scope="request"/>
<%=request.getAttribute("text").toString().replaceAll("##", "<input type='text' name='text' />")
%>
</c:forEach>
但是在取用户写的答案存入数据库时出了问题,我想把每一道题不管是有一个空还是两个空的,都插入到数据库的一个字段里,需要在后台得到用户输入的空的值,然后如果有两个空的话中间用逗号隔开
例如:用户给的答案是:我叫小明,喜欢小猫。
我想在后台处理成字符串  “小明,小猫”。
后台应该怎样获得用户输入的答案呢?

解决方案 »

  1.   

    request.getParameterValues(name)
    name对应<input type='text' name='text'》的name
      

  2.   

    <input type='text' name='题目id'>
      

  3.   

    String[] pars = request.getParameterValues(name)
    name对应<input type='text' name='text'>的name只要你一题里的空的name属性都一样就会取到一个String数组,先自己做个小demo看下,就理解了
      

  4.   

    这个我理解了,但是我为了要替换数据库里题目里的##,用的是这种形式:<c:forEach var="vo" items="${structlist}">
      <c:set value="${dvo.title}" var="text" scope="request"/>
    <%=request.getAttribute("text").toString().replaceAll("##", "<input type='text' name='text' />")
    %>
    </c:forEach>
    然后我换成
    <%=request.getAttribute("text").toString().replaceAll("##", "<input type='text' name='text_${大题ID }_${小题ID}' />")%>
    就会报错,应该怎么设置他的name值呢?
      

  5.   

    严重: Servlet.service() for servlet jsp threw exception
    java.lang.IllegalArgumentException: Illegal group reference
    at java.util.regex.Matcher.appendReplacement(Matcher.java:713)
    at java.util.regex.Matcher.replaceAll(Matcher.java:813)
    at java.lang.String.replaceAll(String.java:2189)
    运行时报这个错
      

  6.   

    不管你怎么操作,也得有<input type='text' name='username'> 用来获取用户输入,
    所以,有了这个input 你在后台怎么处理,那就ok了
      

  7.   

    name='text_${大题ID }_${小题ID}' 
    小脚本里是不能用el的用request获取
      

  8.   

    这个我懂啊,麻烦说下
    <c:set value="${dvo.title}" var="text" scope="request"/>
    <%=request.getAttribute("text").toString().replaceAll("##", "<input type='text' name='text' />")%>
    这种形式的input 应该怎么动态的设置他的name呢?