`

<html:select>,<html:option>,<html:options>标签

阅读更多
在<html:select>标签中可以包含多个<html:option>,<html:options>,<html:optionCollections>元素。

<html:select>标签有以下重要属性

size属性:指定每次在网页上显示的可选项的数目。


multipe属性:指定是否支持多项选择,如果设置为true,就表示多选列表,支持多项选择。否则只表示下拉列表。只支持单选操作。默认值false

property属性:与ActionForm Bean中的某个属性对应,这个属性用来存放用户在列表上选中选项的值。在单项选择的情况下,ActionForm Bean中的对应属性对应该列表上选项的值。在单项选择情况下,

ActionForm Bean对应属性应该定义为简单类型(不能为数组),在多项选择情况下,ActionForm Bean中的对应属性应该定义为数组类型,以便存放用户选择的多个选项。

<html:option>


标签生成HTML<option>元素,这个标签被嵌套在<html:select>标签中,代表列表的一个可选项的Label,既现在是在页面上的值。这中值有两个来源。

1.直接指定文本内容
<html:option value="1">Label来源1:直接指定文本内容</html:option>

2.通过Resource Bundle中的内容。

例如:ApplicationResources.properties资源文件中存在如下键值对:a1=happySelect

标签中通过key关联到资源文件,指定要显示内容。
<html:option value="1" key="a1" /> 这样在页面上显示出happySelect

3.通过key,bundle同时指定要显示的内容

bundle与Struts配置文件中<message-resources>元素配置的Resource Bundle的资源文件key匹配

<message-resources parameter="com.struts.happy" key="happyhtml"/>

<html:option value="1" bundle="happyhtml" key="a1" /> 这样在页面上显示出happySelect


把列表的可选项的显示文本存放在Resource Bundle中,而不是直接在JSP文件中指定,有利于实现国际化。


<html:option>元素的value属性指定可选项的实际值。

<html:options>

标签生成一组HTML标签<option>元素。在<html:select>元素中可以包含多个<html:options>元素。


1.使用coolection属性指定存在某个范围中的集合来生成列表项,注意coolection属性指定的集合,该对象的每一个元素为一个Bean。

例如有如下实体类

package com.pojo;

public class Users {

private String userName;
private String userValue;
public Users(){}

public Users(String userName,String userValue)
{
   this.userName=userName;
   this.userValue=userValue;
}
public String getUserName() {
   return userName;
}
public void setUserName(String userName) {
   this.userName = userName;
}
public String getUserValue() {
   return userValue;
}
public void setUserValue(String userValue) {
   this.userValue = userValue;
}

}

将实体类实例放入ArrayList列表然后放入reqeust范围内
   Users u1=new Users("1","高中");
   Users u2=new Users("2","本科");
   Users u3=new Users("3","硕士");
   Users u4=new Users("4","博士");
   ArrayList array=new ArrayList();
   array.add(u1);
   array.add(u2);
   array.add(u3);
   array.add(u4);
request.setAttribute("xueli",array);

使用
<html:options>标签生成可选项

<html:select property="xueli" multiple="true" size="3">
<html:options
   collection="xueli"
   property="userName"
   labelProperty="userValue"/>
</html:select>:

collection指定存放在request范围内的集合

property指定<html:option>实际值
labelProperty指定<html:option>显示到页面上的文本。

当使用property属性和labelProperty属性时,会根据属性指定的名称调用相应Bean中的getXXX方法来获得属性值。

生成HTML效果如下

<option value="1">高中</option>
<option value="2">本科</option>
<option value="3">硕士</option>
<option value="4">博士</option>


2.利用name属性指定存放在某个范围中的对象,并有property属性指定该对象的某个属性来生成列表项。

例如
   Object[] obj=new Object[]{"高中","本科","硕士","博士"};
   request.setAttribute("xueli",array);


<html:options
 name="xueli"/>
生成HTML效果如下:

<option value="高中">高中</option>
<option value="本科">本科</option>
<option value="硕士">硕士</option>
<option value="博士">博士</option>

如果
<html:options
    name="xueli"
    property="userName"
    labelProperty="userValue"/>

将报如下异常
javax.servlet.jsp.JspException: No getter method available for property userName for bean under name xueli

如果使用name属性指定集合那么需要使用<html:optionsCollection >标签

<html:optionsCollection>

<html:select>标签中可以嵌套多个<html:optionsCollection>标签


标签与<html:options>标签相似,他通过name属性或property属性指定一个集合对象,该对象中的每一个元素为一个Bean,并且在Bean中分别具有与标签中label属性和value属性指定的值匹配的getXXX方法。

其中label属性用来指定列表项的标签(显示给指定的用户),value属性用来指定实际值(提交给服务器的值)

例如:
ArrayList列表然后放入reqeust范围内
   Users u1=new Users("1","高中");
   Users u2=new Users("2","本科");
   Users u3=new Users("3","硕士");
   Users u4=new Users("4","博士");
   ArrayList array=new ArrayList();
   array.add(u1);
   array.add(u2);
   array.add(u3);
   array.add(u4);
request.setAttribute("xueli",array);


<html:optionsCollection
     name="xueli"
     value="userName"
     label="userValue"/>
</html:select>


eg:

*******
<html:select property="name" value="0">
<html:options collection="list" property="name" labelProperty="age"/>
<html:option value="0">无</html:option>
</html:select>
<!-- 多个复选框 -->
<logic:iterate id="item" name="mapForm" property="lvBeans">
<html:multibox name="mapForm"  property="selectedChk">
<bean:write name="item" property="value"/>
</html:multibox>
<bean:write name="item" property="label"/>
</logic:iterate><br>
<!-- 单选下拉列表 -->
<html:select  property="selBirth" value="0">
<html:option value="0">无</html:option>
<html:optionsCollection name="mapForm"  property="optionBirth" />
</html:select>
<br>
<!-- 多选下拉列表 -->
<html:select  property="selBirths" value="0" multiple="true">
<html:option value="0">无</html:option>
<html:optionsCollection name="mapForm"  property="optionBirth"/>
</html:select>

分享到:
评论

相关推荐

    javascript 获取select ->option中id、value、label属性及中内容

    javascript 获取select -&gt;option中id、value、label属性及&lt;option&gt;&lt;/option&gt;中内容

    Java Oracle分页处理

    &lt;html:option value="pagetype" &gt;&lt;bean:write name="pagetype" /&gt;&lt;/html:option&gt; document.forms[0].page.options[${page.currentPage}-1].selected = true; &lt;/c:forEach&gt; ...

    htmlSelect.txt

    &lt;html:select&gt;生成HTML&lt;select&gt;元素 &lt;html:option&gt;:生成HTML&lt;option&gt;元素 &lt;html:options&gt;:生成一组HTML&lt;options&gt;元素 &lt;html:optionsCollection&gt;生成一组HTML&lt;options&gt;元素

    html option禁用选择 select禁用选项示例

    &lt;option value=””&gt;1&lt;/option&gt; &lt;option value=””&gt;2&lt;/option&gt; &lt;option value=””&gt;3&lt;/option&gt; &lt;option value=””&gt;4&lt;/option&gt; &lt;option value=””&gt;5&lt;/option&gt; &lt;/select&gt;   我不想让用户可以选择 345 ...

    静态页面里动态显示信息

    &lt;option value="${dept.id}"&gt;${dept.name}&lt;/option&gt; &lt;/c:forEach&gt; &lt;/select&gt; &lt;input type="button" id="selBtn" value="显示报表" &lt;div id="dataDiv"&gt; &lt;!—加载httpRequest请求返回的文本(即data.jsp...

    ddl语言自定义数据库字段

    &lt;option value="float"&gt;浮点型&lt;/option&gt;&lt;br&gt; &lt;/select&gt;&lt;br&gt; &lt;/label&gt;&lt;/td&gt;&lt;br&gt; &lt;/tr&gt;&lt;br&gt; &lt;tr&gt;&lt;br&gt; &lt;td nowrap bgcolor="#FFFFFF"&gt;字段名称:&lt;/td&gt;&lt;br&gt; &lt;td colspan="3" nowrap bgcolor="#FFFFFF"&gt;&lt;input name="a_...

    ICC8051 Micro Series 8051 C-Compiler V4.10A/DOS

    Usage: icc8051 {&lt;options&gt;} &lt;sourcefile&gt; {&lt;options&gt;} Sourcefile: 'C' source file with default extension: .c Environment: QCC8051 Options (specified order is of no importance): -o file Put object on: ...

    FCKeditor-test

    &lt;td class="list_box1_title2"&gt;信息名称:&lt;font color="red"&gt;*&lt;/font&gt;&lt;/td&gt; &lt;td&gt; &lt;input name="exPlainInfo.title" id="exPlainInfo.title" class="ip5" value="${(exPlainInfo.title)?default("")}"/&gt; &lt;/td&gt; &lt;/...

    MySQL中文参考手册.chm

    &lt;br/&gt;7.22 EXPLAIN (解释)句法(得到关于SELECT的信息) &lt;br/&gt;7.23 DESCRIBE (描述)句法(得到列的信息) &lt;br/&gt;7.24 LOCK TABLES/UNLOCK TABLES (锁定表/解锁表)句法 &lt;br/&gt;7.25 SET OPTION (设置选项)句法 &lt;br/&gt;7.26 ...

    corejava的学习笔记

    -agentpath:&lt;pathname&gt;[=&lt;options&gt;] load native agent library by full pathname -javaagent:&lt;jarpath&gt;[=&lt;options&gt;] load Java programming language agent, see java.lang.instrument -splash:&lt;imagepath&gt; ...

    BUS Hound

    This is known as the KEYBOARD_INPUT_DATA structure in the Windows DDK:&lt;br&gt;&lt;br&gt;Offset Length Content&lt;br&gt;0 2 Not used&lt;br&gt;2 2 Scan code of key&lt;br&gt;4 2 Flags:&lt;br&gt; 0000h = key pressed&lt;br&gt; 0001h = key ...

    Select精美下拉框(漂亮)

    [removed]("&lt;div id=SS_TempDiv&gt;&lt;/div&gt;\n"); document.all.SS_TempDiv.appendChild(this.Table); document.all.SS_TempDiv.removeNode(); } function SS_write (srcHTML, ListMax, bAutoDetect) { var oSS = ...

    jQuery完全实例.rar

    &lt;p&gt;one&lt;/p&gt; &lt;div&gt;&lt;p&gt;two&lt;/p&gt;&lt;/div&gt; &lt;p&gt;three&lt;/p&gt; jQuery 代码: $("div &gt; p"); 结果: [ &lt;p&gt;two&lt;/p&gt; ] -------------------------------------------------------------------------------- 在文档的第一个表单...

    jQuery 操作下拉列表框实现代码

    &lt;option value=”1″&gt;Option1&lt;/option&gt; &lt;option valeu=”2″&gt;Option2&lt;/option&gt; &lt;option value=”3″&gt;Option3&lt;/option&gt; &lt;option value=”4″&gt;Option4&lt;/option&gt; &lt;/select&gt; 1. 取得jQuery对象 obj = $(‘#select...

    Firefox中A元素包含Select时点击Select不能选择option bug

    这是在使用京东的一个日期组件时碰到的bug,重现bug的代码精简... &lt;option&gt;1&lt;/option&gt; &lt;option&gt;2&lt;/option&gt; &lt;option&gt;3&lt;/option&gt; &lt;option&gt;4&lt;/option&gt; &lt;/select&gt;&lt;/a&gt; &lt;/body&gt; &lt;/html&gt; 代码很简单,元素

    Javashop开发规范V2.2

    &lt;option&gt;00&lt;/option&gt; &lt;/field&gt; &lt;/action&gt; 3.2.2 删除表 &lt;action&gt; &lt;command&gt;drop&lt;/command&gt; &lt;table&gt;tablename&lt;/table&gt; &lt;/action&gt; 3.2.3 添加、删除列 &lt;action&gt; &lt;command&gt;alter&lt;/command&gt; &lt;table&gt;goods&lt;/...

    HTML select option基础理解及使用

    标签中创建一个或多个&lt;option value=”值”&gt;文本&lt;/option&gt; //options是个数组,里面可以存放多个&lt;option value=”值”&gt;文本&lt;/option&gt;这样的标签 1:options[ ]数组的属性: length属性———长度属性 selectedIn

    .NET中实现客户端联动菜单 (无刷新)

    &lt;TD&gt;&lt;asp:dropdownlist id="DropDownList3" runat="server"&gt;&lt;/asp:dropdownlist&gt;&lt;/TD&gt; &lt;/TR&gt; &lt;/TABLE&gt; &lt;asp:TextBox id="TextBox1" style="Z-INDEX: 102; LEFT: 416px; POSITION: absolute; TOP: 48px" runat=...

    javascript经典年月日三级联动

    &lt;option value=""&gt;请选择 年 &lt;/option&gt; &lt;/select&gt; &lt;select name=MM onChange="MMDD(this.value)"&gt; &lt;option value=""&gt;选择 月 &lt;/option&gt; &lt;/select&gt; &lt;select name=DD&gt; &lt;option value=""&gt;选择 日 &lt;/option&gt; &lt;/...

    JavaScript获取select中text值的方法

    本文实例讲述了JavaScript获取select中text值的方法。分享给大家供大家参考,具体如下: ... &lt;option value=0&gt;请选择商品分类&lt;/option&gt; &lt;option value=1&gt;家电&lt;/option&gt; &lt;option value=2&gt;数码&lt;/option&gt; &lt;optio

Global site tag (gtag.js) - Google Analytics