记住jsp文件中的下拉选择

时间:2012-04-27 10:50:20

标签: html jsp

我在jsp文件中有一个下拉列表

<select name="PID" id="PID" style="min-width: 100px;" >

<% 
for(somelist pm : List) { %>
<option value="<%=pm.getsmthing()%>" selected><%=pm.getName()%></option>
<option  value="-1">Select a Property</option>

这是一个表格。我希望在提交表单后记住所选的项目名称。

2 个答案:

答案 0 :(得分:1)

只要关联的请求参数具有完全相同的值,就可以有条件地打印selected

<option value="<%=pm.getsmthing()%> <%=(pm.getsmthing().equals(request.getParameter("PID")) ? "selected" : "")%>><%=pm.getName()%></option>

将其存储在会话中。它会影响同一会话中所有浏览器标签/窗口中的所有页面,这可能会导致“wtf?”最终用户的经历。


无关具体问题,这是编写JSP的oldschool方式。了解JSTLEL。您的代码将如下所示:

<select name="PID" id="PID" style="min-width: 100px;">
  <c:forEach items="${List}" var="pm">
    <option value="${pm.smthing}" ${pm.smthing == param.PID ? 'selected' : ''}>${pm.name}</option>
    <option value="-1">Select a Property</option>
  </c:forEach>
</select>

答案 1 :(得分:0)

将您选择的值添加到HTTP会话中,并在需要显示表单时随时将其重新启动。