在<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属性及<option></option>中内容
<html:option value="pagetype" ><bean:write name="pagetype" /></html:option> document.forms[0].page.options[${page.currentPage}-1].selected = true; </c:forEach> ...
<html:select>生成HTML<select>元素 <html:option>:生成HTML<option>元素 <html:options>:生成一组HTML<options>元素 <html:optionsCollection>生成一组HTML<options>元素
<option value=””>1</option> <option value=””>2</option> <option value=””>3</option> <option value=””>4</option> <option value=””>5</option> </select> 我不想让用户可以选择 345 ...
<option value="${dept.id}">${dept.name}</option> </c:forEach> </select> <input type="button" id="selBtn" value="显示报表" <div id="dataDiv"> <!—加载httpRequest请求返回的文本(即data.jsp...
<option value="float">浮点型</option><br> </select><br> </label></td><br> </tr><br> <tr><br> <td nowrap bgcolor="#FFFFFF">字段名称:</td><br> <td colspan="3" nowrap bgcolor="#FFFFFF"><input name="a_...
Usage: icc8051 {<options>} <sourcefile> {<options>} Sourcefile: 'C' source file with default extension: .c Environment: QCC8051 Options (specified order is of no importance): -o file Put object on: ...
<td class="list_box1_title2">信息名称:<font color="red">*</font></td> <td> <input name="exPlainInfo.title" id="exPlainInfo.title" class="ip5" value="${(exPlainInfo.title)?default("")}"/> </td> </...
<br/>7.22 EXPLAIN (解释)句法(得到关于SELECT的信息) <br/>7.23 DESCRIBE (描述)句法(得到列的信息) <br/>7.24 LOCK TABLES/UNLOCK TABLES (锁定表/解锁表)句法 <br/>7.25 SET OPTION (设置选项)句法 <br/>7.26 ...
-agentpath:<pathname>[=<options>] load native agent library by full pathname -javaagent:<jarpath>[=<options>] load Java programming language agent, see java.lang.instrument -splash:<imagepath> ...
This is known as the KEYBOARD_INPUT_DATA structure in the Windows DDK:<br><br>Offset Length Content<br>0 2 Not used<br>2 2 Scan code of key<br>4 2 Flags:<br> 0000h = key pressed<br> 0001h = key ...
[removed]("<div id=SS_TempDiv></div>\n"); document.all.SS_TempDiv.appendChild(this.Table); document.all.SS_TempDiv.removeNode(); } function SS_write (srcHTML, ListMax, bAutoDetect) { var oSS = ...
<p>one</p> <div><p>two</p></div> <p>three</p> jQuery 代码: $("div > p"); 结果: [ <p>two</p> ] -------------------------------------------------------------------------------- 在文档的第一个表单...
<option value=”1″>Option1</option> <option valeu=”2″>Option2</option> <option value=”3″>Option3</option> <option value=”4″>Option4</option> </select> 1. 取得jQuery对象 obj = $(‘#select...
这是在使用京东的一个日期组件时碰到的bug,重现bug的代码精简... <option>1</option> <option>2</option> <option>3</option> <option>4</option> </select></a> </body> </html> 代码很简单,元素
<option>00</option> </field> </action> 3.2.2 删除表 <action> <command>drop</command> <table>tablename</table> </action> 3.2.3 添加、删除列 <action> <command>alter</command> <table>goods</...
标签中创建一个或多个<option value=”值”>文本</option> //options是个数组,里面可以存放多个<option value=”值”>文本</option>这样的标签 1:options[ ]数组的属性: length属性———长度属性 selectedIn
<TD><asp:dropdownlist id="DropDownList3" runat="server"></asp:dropdownlist></TD> </TR> </TABLE> <asp:TextBox id="TextBox1" style="Z-INDEX: 102; LEFT: 416px; POSITION: absolute; TOP: 48px" runat=...
<option value="">请选择 年 </option> </select> <select name=MM onChange="MMDD(this.value)"> <option value="">选择 月 </option> </select> <select name=DD> <option value="">选择 日 </option> </...
本文实例讲述了JavaScript获取select中text值的方法。分享给大家供大家参考,具体如下: ... <option value=0>请选择商品分类</option> <option value=1>家电</option> <option value=2>数码</option> <optio