JSP做的下拉列表菜单提交表单后值保持不变

下拉列表菜单值来自数据库中

jsp中的表单值保持不变是通过设置session实现的。
第一步:在<from action="">中的action 中输入想要将该表单提交到的action或servlet。
第二步:在servlet或action中获取表单的相应按钮的值,如:
String s=request.getParameter("an[1]");
第三步:将值存储到session中。
HttpSession session=reqeust.getSession();(获取session)
session.setAttribute("t1",s);(表示将变量s存储到session中)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-04
这是想做回显吧。
jsp提交表单后,把form的值用request.setAttribute('formback',form),set回来
然后再jsp页面接一下。
想知道你的select是怎么出来的,循环的还是直接写上去的。
直接写上去的,你就获取传回来的formback里面下拉菜单的值,然后把值赋给下拉菜单。
如果是循环的,就如下:
<select name="selectName">
<logic:iterate id=“a” name="aaa">
<logic:equal name="{a.key}" value="${form.selectName}">
<option value=${a.key} selected>${a.value}</option>
</logic:equal>
<logic:notEqual name="${a.key}" value="${form.selectName}">
<option value=${a.key} >${a.value}</option>
</logic:notEqual>
</logic:iterate>
</select>本回答被提问者采纳
第2个回答  2014-04-04
如果是用<select><option>的话,<option value="">要带有value才能在处理页面取得到值(早期的ie也会认为<option>内容</option>这样格式中的内容是值,但是ie7后好像就不认了,必须得是value才有取得到值)。
如果是处理端处理完成后,还想返回的页面中显示这个值的话,就要使用request或session等对象来传递这个值,在显示页面取得并显示这个值才行(类似于Struts的值栈域的工作原理)。
第3个回答  2014-04-04
你要问什么
第4个回答  2014-04-03
最好贴上源码
相似回答