Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当页面加载时,如何在JSP上第一次始终显示下拉列表的第一个值?_Java_Javascript_Html_Jsp_Drop Down Menu - Fatal编程技术网

Java 当页面加载时,如何在JSP上第一次始终显示下拉列表的第一个值?

Java 当页面加载时,如何在JSP上第一次始终显示下拉列表的第一个值?,java,javascript,html,jsp,drop-down-menu,Java,Javascript,Html,Jsp,Drop Down Menu,我正在处理一个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

我正在处理一个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>
但不知何故,每当我第一次加载我的页面时,我总是在“限制”下拉框前面看到空白字段,然后如果我从下拉列表中选择20并再次提交表单,那么我可以在该下拉列表中看到20,如果我选择50,并再次提交表单,我还可以在下拉列表中看到50个选定项


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

第一次加载页面时没有设置请求参数。一个简单的解决方案可能是:

<%
String limit = request.getParameter("limit");
if (limit == null) {
    limit = "10";
}
%>

第一页加载未设置请求参数。一个简单的解决方案可能是:

<%
String limit = request.getParameter("limit");
if (limit == null) {
    limit = "10";
}
%>

您可以在以下内容周围添加条件:


或者,您可以使用jquery,它几乎总是javascript的一个好选项,它的选择方法不会产生这种效果。

您可以在以下内容周围添加一个条件:


或者,您可以使用jquery,它几乎总是javascript的一个好选项,它的选择方法不会产生这种效果。

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

你有两个选择。第一:如果现有值之一应为默认值,则在没有值时将其指定为“限制”:

<%
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的值,您违反了web安全的一条主要规则:在未清除页面的情况下,切勿将用户输入回显到页面上。考虑一下如果将脚本标签作为限制值……

会发生什么,那么你的代码中没有默认的赋值,所以你的值赋值是将限制值,它在页面加载的第一次被假定为空,下拉。听起来这会导致一个空白选项

你有两个选择。第一:如果现有值之一应为默认值,则在没有值时将其指定为“限制”:

<%
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的值,您违反了web安全的一条主要规则:在未清除页面的情况下,切勿将用户输入回显到页面上。考虑一下,如果包含一个脚本标记作为限制的值……

,使用JavaScript是很酷的事情,但是你可以用HTML特征来实现选择,看看AT/P>的描述。 因此您的JSP可以重写:

<select id="limit" name="limit">
<option value="10" selected>10</option>

使用javascript是件很酷的事情,但您可以通过HTML特性实现选择查看

因此您的JSP可以重写:

<select id="limit" name="limit">
<option value="10" selected>10</option>