日期:2014-05-17  浏览次数:20714 次

jsp页面如何保存一些值
写了一个类似问卷调查的页面,题目有2个页面,一个公共题目,一个私有题目
已知,问题由题干(question),标题(title),选项(option)组成,而且这些数据都是根据不同的用户从数据库里生成不同的题目获得的。
问,我现在想做好公共题目的时候保存住题干,标题,以及所选的选项的内容和值,然后如果接着做私有题又回到公共题,要选中之前已经选中的选项。
问题在于题干,标题和选项都是生成出来得,无法根据name取到响应的值加以保存
Java code
<table width="100%" border="0" cellspacing="0" cellpadding="0">
                                                     <c:forEach var="privateQuestion" items="${privateQuestion}">
                                                        <tr><td colspan="7">&nbsp;</td></tr>
                                                        <tr class="font15">
                                                          <td colspan="20"><b>${privateQuestion.question}</b></td>
                                                        </tr>
                                                        <tr><td colspan="7">&nbsp;</td></tr>
                                                              <c:forEach var="privateQuestionTitle" items="${privateQuestionTitle}">
                                                              <tr class="font13">
                                                                  <td width="20%">${privateQuestionTitle.title}</td> 
                                                                   <c:forEach var="privateQuestionOption" items="${privateQuestionOption}">
                                                                      <td width="15%"><input type="radio" name="${privateQuestion.question}+${privateQuestionTitle.title}" value="${privateQuestionOption.value}"/>${privateQuestionOption.option}</td>
                                                                   </c:forEach>
                                                               </tr>
                                                           </c:forEach>
                                                        <tr><td colspan="7">&nbsp;</td></tr>
                                                      </c:forEach>
                                                    </table>


------解决方案--------------------
可以用把你要保存的值放到容器里面,然后把容器保存到session里,当再回到这个页面时,直接取session里的内容展示出来,然后摧毁这个session就行了。
------解决方案--------------------
这个问题你最好的办法就是写入数据库了 ,写好的时候就写入下,然后持久化,这个跟表单的是一样的啊,如果用session的话会出现一些问题,比如你做私有题的时候做了超过30分钟内,session就会不在了,当然这个可以自己设置,但是一般默认的是30分钟.如果你关了浏览器,再进去,session也会不在(注意,这里说的不在是说当你再次进入的时候生成一个新的session,以前的还在,只不过他找不到以前的session,session有两个方法销毁,一个是等到时间到,自动销毁,一个途径是直接写程序销毁,而你关浏览器的话,一般是走第一种途径,如果你设置的销毁session的方法的话,正确的退出也可以销毁session),所以要结合session+cookie来做.个人建议啊,还是写入数据库比较妥当
------解决方案--------------------
<input type="radio" name="${privateQuestion.question}+${privateQuestionTitle.title}" value="${privateQuestionOption.value}"/>${privateQuestionOption.option}
不是每个radio都有一个name吗?
跳转的时候 你可以获取每一个的值,以name的值对名称,存入session中
返回过来的时候,你就获取session对应的值,有就展示就可以了
------解决方案--------------------
存在数据库,或者对应的存在容器里面 struts actionl里面