我有一个数据库驱动的文本框,需要在用户点击后退按钮时重新填充(我在表单上创建的后退按钮)
目前,我可以使用http会话在表单上重新填充非数据库驱动的字段。我似乎无法将相同的逻辑应用于数据库驱动的字段。
我的jsp上的代码如下所示:
<td><select name = "actionType" tabindex = "1" value="<%if(session.getAttribute("actionType")== null) out.print(""); else out.print(session.getAttribute("actionType"));%>">
<option>--</option>
<% for(int i=0; i<actTypeDDL.size()-1; i++){
String actType = actTypeDDL.get(i).toString();
i++;
String actTypeVal = actTypeDDL.get(i).toString();%>
<option value=<%=actTypeVal%>>
<%=actType%>
</option>
<%
} %>
</select></td>
有什么想法吗?
答案 0 :(得分:1)
该问题与值来自数据库的事实没有任何关系,问题是在select标记上指定值不会预先选择该选项。您需要为选项本身添加“选定”标志。
以下内容应该有效:
<td><select name = "actionType" tabindex = "1" >
<option>--</option>
<% for(int i=0; i<actTypeDDL.size()-1; i++){
String actType = actTypeDDL.get(i).toString();
i++;
String actTypeVal = actTypeDDL.get(i).toString();%>
<option value=<%=actTypeVal%>
<% if (session.getAttribute("actionType") == actTypeVal) {
System.out.println("selected = 'true'");
} %>
>
<%=actType%>
</option>
<%
} %>
</select></td>