java web 之下拉列表默认值

来源:互联网 发布:iplocation.class.php 编辑:程序博客网 时间:2024/05/18 01:54

从今天开始,记录一个java web菜鸟的学习记录...也就是各种粘贴复制啦!!!

今天要说的是下拉列表如添加默认值。

<td>系统</td> <td><select id="search_systemKey"     onchange="getmodule()" name="systemKey" class="input-medium" > <option value="">--请选择--</option><c:forEach items="${systemList}" var="st" varStatus="status"> <option value="${st.systemKey}"<c:if test = "${product.systemKey eq st.systemKey }"> selected="selected"</c:if>>${st.systemName}</option> </c:forEach> </select></td>


其中 <c:forEach>是JSTL的迭代标签

JSTL所支持的迭代标签有两个,分别是<c:forEach>和<c:forTokens>

<c:forEach>标签的作用就是迭代输出标签内部的内容。它既可以进行固定次数的迭代输出,也可以依据集合中对象的个数来决定迭代的次数。

<c:forEach>标签,需要与el表达式联合使用

c:forEach>标签的语法定义如下所示。

               

复制代码
   <c:forEach var="每个变量名字"   items="要迭代的list"   varStatus="每个对象的状态"                           begin="循环从哪儿开始"    end="循环到哪儿结束"    step="循环的步长">                              循环要输出的东西                  </c:forEach>
复制代码
<c:forEach>标签具有以下一些属性:

      var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。 

        items:要进行迭代的集合。对于它所支持的类型将在下面进行讲解。 
         varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。 

        begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。

         
end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。

         step:迭代的步长。

<c:if> 标签必须要有test属性,当test中的表达式结果为true时,则会执行本体内容;如果为false,则不会执行。


<c:if test = "${product.systemKey eq st.systemKey }"> selected="selected"</c:if>>${st.systemName}</option>
如果
product.systemKey eq st.systemKey 为真的话 那么默认被选中

下拉列表一般会优先选择第一个数据,当 selected = "selected"时,就会就会把这条数据当成默认值,优先显示。

selected 属性规定在页面加载时预先选定该选项。

被预选的选项会显示在下拉列表最前面的位置


原创粉丝点击