在表单上重新填充数据库驱动的文本框

时间:2009-04-23 18:32:05

标签: java

我有一个数据库驱动的文本框,需要在用户点击后退按钮时重新填充(我在表单上创建的后退按钮)

目前,我可以使用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>

有什么想法吗?

1 个答案:

答案 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>