我已经创建了测验项目。我想保存show user answerlist click option单选按钮。在最后的考试中,我想用ajax插入mysql所有答案列表。
在解析answerlist中,我编写了这样代码。但是在每个新页面中,点击选项以前的回答表会显示为空。
请告诉我如何在jsp中临时保存所有答案,然后插入mysql:
<html>
<head>
<% Logger log = Logger.getLogger("Test");%>
<% Long qnum = (Long) session.getAttribute("qnumer"); %>
<% String answer = (String) session.getAttribute("answer");%>
<%log.info(qnum + answer);%>
<% String [] answerqlist = new String[6] ; %>
<%switch (Integer.parseInt(String.valueOf(qnum))){
case 1:
String a1 = answer;
answerqlist[0]=a1;
break;
case 2:
String a2 = answer;
answerqlist[1]=a2;
break;
case 3:
String a3 = answer;
answerqlist[2]=a3;
break;
case 4:
String a4 = answer;
answerqlist[3]=a4;
break;
case 5:
String a5 = answer;
answerqlist[4]=a5;
break;
case 6:
String a6 = answer;
answerqlist[5]=a6;
break;
}%>
</head>
<body>
<table cellspacing="0" width="100%" style="border: solid 1px;" >
<thead>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
</tr>
</thead>
<tbody>
<tr align="center">
<td><%=answerqlist[0]%></td>
<td><%=answerqlist[1]%></td>
<td><%=answerqlist[2]%></td>
<td><%=answerqlist[3]%></td>
<td><%=answerqlist[4]%></td>
<td><%=answerqlist[5]%></td>
</tr>
</tbody>
</table>
</body>
</html>发布于 2017-02-13 19:58:45
您将从会话中获得以下信息:
<% Long qnum = (Long) session.getAttribute("qnumer"); %>
<% String answer = (String) session.getAttribute("answer");%>但我看不到在会话中设置这些值的位置。
对于数组answerqlist也是如此,您将在每个页面构建一个新的数组,您应该将其保存到会话中(并加载它)。
附言:你真的应该看看How to avoid Java code in JSP files?
PS 2:开关不是必需的,因为这可以简化为:
int index = Integer.parseInt(String.valueOf(qnum));
answerqlist[index - 1] = answer;您一遍又一遍地执行相同的操作,但是索引依赖于qnum。当然,您可以添加检查以防止异常。
https://stackoverflow.com/questions/42201545
复制相似问题