当前位置: 首页 > 知识库问答 >
问题:

使用JSTL为JSP下拉列表选择的值

张翰音
2023-03-14

我在Servlet中使用SortedMap来填充JSP中的下拉列表值,我有以下代码

    SortedMap<String, String> dept = findDepartment();
    request.setAttribute("dept ", dept);

在JSP中

       <select name="department">
          <c:forEach var="item" items="${dept}">
            <option value="${item.key}">${item.value}</option>
          </c:forEach>
        </select>

我正在使用一个 JSP 页进行插入和更新。当我编辑页面时,如何将所选值设置为下拉列表,其中所选值将来自数据库

共有3个答案

卢英叡
2023-03-14

如果你不介意使用jQuery,你可以使用下面的代码:

    <script>
     $(document).ready(function(){
           $("#department").val("${requestScope.selectedDepartment}").attr('selected', 'selected');
     });
     </script>


    <select id="department" name="department">
      <c:forEach var="item" items="${dept}">
        <option value="${item.key}">${item.value}</option>
      </c:forEach>
    </select>

在您的Servlet中添加以下内容:

        request.setAttribute("selectedDepartment", YOUR_SELECTED_DEPARTMENT );
竺捷
2023-03-14

我尝试了Sandeep Kumar的最后一个答案,我发现方法更简单:

<option value="1" <c:if test="${item.key == 1}"> selected </c:if>>
相高谊
2023-03-14

在超文本标记语言中,所选选项由上的选定属性表示

<option ... selected>...</option>

或者,如果你是严格要求的:

<option ... selected="selected">...</option>

因此,您只需要让 JSP/EL 有条件地打印它。前提是您已按如下方式准备所选部门:

request.setAttribute("selectedDept", selectedDept);

那么应该这样做:

<select name="department">
    <c:forEach var="item" items="${dept}">
        <option value="${item.key}" ${item.key == selectedDept ? 'selected="selected"' : ''}>${item.value}</option>
    </c:forEach>
</select>
  • 在将表单提交到Servlet后,如何在JSP中保留超文本标记语言表单字段值?

 类似资料:
  • 问题内容: 我需要使用cypress测试angularjs应用程序的下拉列表。 我需要单击一个下拉列表,然后从下拉列表中选择或单击一个项目。我尝试如下所示,它只能在一个实例上使用,而不能在其他情况下使用,因为第二个get()方法中的ID号随着其动态生成而不断变化。这不是带有html中选项的标准选择。 1)无论如何,我可以在每个选项上设置一个唯一属性并仅选择所需的属性,还是可以仅基于列表项的描述进行

  • 我的代码如下: WebElement stateDropDown=驱动程序。findElement(By.xpath(“/html/body/form/div[3]/main/div/div/div/span/div/fieldset/div[4]/div[1]/span/span[1]”);列表选项=状态下拉列表。findElements(By.xpath(“/html/body/div[1]/

  • 下面给出了一段表示下拉列表的代码。我需要在此下拉列表中选择日期值,由<代码> 以下方法无效 1。)使用“按导入组织选择”选择此值。openqa。硒。支持用户界面。选择 控制台显示: 元素应该是“选择”,但应该是“选项” 2.)首先单击下拉列表以显示要选择的选项,然后单击该选项。 控制台显示: 调试元素缺少可访问的名称:id:类型,标记名:选择,类名:文本输入ng原始ng未触及ng有效ng范围 3.

  • 我试图从2个Ajax下拉字段中选择一个特定的值。第一个下拉选项列表打开,但没有选择选项,这就是为什么第二个下拉列表没有绑定并且错误发生的原因 org.openqa.selenium.nosuchelementException:找不到Element:option[value=“111”]。 请帮帮我..我是硒的新手 这是我的代码..

  • 仍然是新的量角器,茉莉等。 今天,我正在尝试在我的一个测试中与下拉选项列表进行交互。 这是: var 选择下降 = 元素(按.css(“.下拉列表”);所有选项 = 元素(按选项(“某些选项”)); 现在点击下拉列表 selectDropDown.click(); 单击索引为 2 的下拉列表中的“选项” allOptions.get(2). Click(); 一些用于断言的代码。。。。 现在的问题

  • 问题内容: 我创建了一个客户c#DropDownList控件,可以将其内容呈现为optgroup(不是从头开始,我编辑了一些在Internet上找到的代码,尽管我确切地了解了它的作用),并且工作正常。 但是,我现在遇到一种情况,我需要在下拉菜单中有两个缩进级别,即 但是,在上面的示例代码段中,它呈现的缩进量与相同。 有没有一种方法可以产生我想要的嵌套optgroup行为? 问题答案: 好的,如果有