gpt4 book ai didi

java - 如何在页面加载时第一次在JSP上显示下拉列表的第一个值?

转载 作者:行者123 更新时间:2023-11-28 15:51:07 27 4
gpt4 key购买 nike

我正在处理 JSP 页面,我需要始终在该 JSP 页面上显示下拉列表的选定值。下面是我的例子 -

<p style="font-weight: bold">Limit</p>
<select id="limit" name="limit">
<option value="10">10</option>
<option value="20">20</option>
<option value="50">50</option>
<option value="100">100</option>
</select>

第一次加载页面时,我想显示从上面的下拉列表中选择的 10 个值。现在,如果我从上面的下拉列表中选择 20 并提交表单,我需要通过始终维护下拉列表的状态来在该下拉列表上显示 20,因此我使用了下面的代码 -

<%
String limit = request.getParameter("limit");
%>
<script>
document.getElementById("limit").value = '<% out.print(limit); %>';
</script>

但不知何故,每当我第一次加载页面时,我总是会在 Limit 下拉框前面看到空白字段,然后如果我从该下拉列表中选择 20列出并再次提交表单,然后我可以在该下拉列表中看到 20 selected ,如果我选择 50,然后再次提交表单,那么我也可以在该下拉列表中看到 50 选择。

唯一的问题是,当我第一次加载页面时,它总是在下拉列表中显示空白字段作为选定值,这不是我想要的,我想每当页面打开时第一次自动选择 10第一次加载。

最佳答案

您的代码中没有“默认”分配,因此您的值分配是将 limit 的值分配给下拉列表,该值在页面第一次加载时可能为 null。听起来这会导致一个空白选项。

你有两个选择。第一个:如果现有值之一应为默认值,则将其分配给 limit(如果没有值):

<%
String limit = request.getParameter("limit");
limit = (limit == null) ? DEFAULT_VALUE : limit;
%>

或者,如果现有值之一不适合默认值,您应该在选项列表中提供一个空替代值:

<select id="limit" name="limit">
<option value="">-- SELECT ONE --</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="50">50</option>
<option value="100">100</option>
</select>

希望这有帮助。

请注意:通过将 limit 的值插入到您的页面中,您违反了网络安全的主要规则:切勿在未清除页面污染的情况下将用户输入回显到页面上。考虑一下如果包含 script 标记作为 limit...

的值会发生什么情况

关于java - 如何在页面加载时第一次在JSP上显示下拉列表的第一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20573352/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com