我是这样做的:题库里的填空题题目的空都是用##来代替的,例如:我叫##,我喜欢##。然后出完题在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>
但是在取用户写的答案存入数据库时出了问题,我想把每一道题不管是有一个空还是两个空的,都插入到数据库的一个字段里,需要在后台得到用户输入的空的值,然后如果有两个空的话中间用逗号隔开
例如:用户给的答案是:我叫小明,喜欢小猫。
我想在后台处理成字符串 “小明,小猫”。
后台应该怎样获得用户输入的答案呢?
<c:set value="${dvo.title}" var="text" scope="request"/>
<%=request.getAttribute("text").toString().replaceAll("##", "<input type='text' name='text' />")
%>
</c:forEach>
但是在取用户写的答案存入数据库时出了问题,我想把每一道题不管是有一个空还是两个空的,都插入到数据库的一个字段里,需要在后台得到用户输入的空的值,然后如果有两个空的话中间用逗号隔开
例如:用户给的答案是:我叫小明,喜欢小猫。
我想在后台处理成字符串 “小明,小猫”。
后台应该怎样获得用户输入的答案呢?
name对应<input type='text' name='text'》的name
name对应<input type='text' name='text'>的name只要你一题里的空的name属性都一样就会取到一个String数组,先自己做个小demo看下,就理解了
<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值呢?
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)
运行时报这个错
所以,有了这个input 你在后台怎么处理,那就ok了
小脚本里是不能用el的用request获取
<c:set value="${dvo.title}" var="text" scope="request"/>
<%=request.getAttribute("text").toString().replaceAll("##", "<input type='text' name='text' />")%>
这种形式的input 应该怎么动态的设置他的name呢?