<html:select>生成HTML<select>元素 <html:option>:生成HTML<option>元素 <html:options>:生成一组HTML<options>元素 <html:optionsCollection>生成一组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.直接指定文本内容 2.通过Resource Bundle中的内容。 例如:ApplicationResources.properties资源文件中存在如下键值对:a1=happySelect 标签中通过key关联到资源文件,指定要显示内容。 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; } 将实体类实例放入ArrayList列表然后放入reqeust范围内 使用 <html:select property="xueli" multiple="true" size="3"> collection指定存放在request范围内的集合 property指定<html:option>实际值 当使用property属性和labelProperty属性时,会根据属性指定的名称调用相应Bean中的getXXX方法来获得属性值。 生成HTML效果如下 <option value="1">高中</option> ? <html:options> 例如 <option value="高中">高中</option> 如果 将报如下异常 3 ? ?如果数据是在ActionFormBean中 private String[] addrOpts = { "11", "12", "13" }; private String[] addrLab = { "BJ", "SH", "HK" }; <html:options? property="addrOpts " labelProperty="addrLab "/> ? ? 如果使用name属性指定集合那么需要使用<html:optionsCollection >标签 <html:optionsCollection> <html:select>标签中可以嵌套多个<html:optionsCollection>标签 标签与<html:options>标签相似,他通过name属性或property属性指定一个集合对象,该对象中的每一个元素为一个Bean,并且在Bean中分别具有与标签中label属性和value属性指定的值匹配的getXXX方法。 其中label属性用来指定列表项的标签(显示给指定的用户),value属性用来指定实际值(提交给服务器的值) 例如: <html:optionsCollection? 如果使用property属性,那么将使用和表单相关联的FormBean中的xueli属性作为指定的集合。 ? <html:optionsCollection> ? ----------------------------------------- 意见: 如果要从 数据库去取数据,一般是在 action 里调用 DAO ,把结果存入一个ArrayList作为 request 的一个属性传到页面上; 这时一般用 <html:options .../> 标签.另外,如果数据不从数据库去取,而是代码固定的,则一般把这种放到 ActionForm 里,作为属性在页面上取,这时一般用 <html:optionsCollection ... /> ? ? ? ?
<html:select>生成HTML<select>元素,表示下拉列表框或多选列表。
<html:option value="1">Label来源1:直接指定文本内容</html:option>
<html:option value="1" key="a1" /> 这样在页面上显示出happySelect
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;
}
?? 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:options?
?? collection="xueli"
?? property="userName"
?? labelProperty="userValue"/>
</html:select>:
labelProperty指定<html:option>显示到页面上的文本。
<option value="2">本科</option>
<option value="3">硕士</option>
<option value="4">博士</option>
<html:options collection="collection" labelProperty="displayName" property="value"/>
其中collection为一个集合,一般是个ArrayList,displayName为前台显示的名称,value为后台实际使用的值.
例:<html:options collection="arrayList" labelProperty="name" property="id" />
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>
<html:options?
??? name="xueli"
??? property="userName"
??? labelProperty="userValue"/>
javax.servlet.jsp.JspException: No getter method available for property userName for bean under name xueli
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);
???? name="xueli"
???? value="userName"
???? label="userValue"/>
</html:select>
<html:optionsCollection property="actionForm.property" label="displayName" value="value"/>
其中property为ActionForm中的一个属性,为一个集合.displayName为前台显示的名称,value为后台实际使用的值.
例:<html:optionsCollection property="listProperty" label="name" value="id" />
详细解决方案
<html:select><html:option><html:options><html:optionsCollection>标签应用
热度:936 发布时间:2012-10-06 17:34:01.0
相关解决方案
- Struts2 <select>上拉框 回显有关问题
- 關於Struts2 select tag 問題,该怎么处理
- <xsl:for-each select= 取嵌套节点则么写,该如何解决
- 访问Tomcat的url的时候如何自动调用index.html
- The requested resource (/webtest/servlet/hello.html) is not availabl 帮忙解决解决方法
- <select>标签可平添文字
- JSP 页面乱码 页面起首已设置 contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
- Struts2 <s:select/>有关问题
- html js不运行有关问题
- jsp页面<select>选中有关问题
- 办公自动化系统——议程管理(用jsp+servlet+js+html+jdbc)怎样实现
- <html:text>property的有关问题
- 关于<html:text>相关的有关问题
- Struts 1.2 html:form的action和form的action区别,还有如果2个都有执行哪个解决方案
- struts2 中用两个<s:select>标签如何实现级联的效果
- 简单计算器(html+js),该怎么解决
- <s:select>标签,小弟我要通过js获取listKey的值要如何获取
- HTML 小疑点,哪位高手解决 给哪位高手分
- <s:select>解决办法
- 嵌入JSP中的CSS显示效果和在 HTML 中的不一样.为什么.该怎么解决
- struts1 中<html:checkbox>标签的value值怎么动态赋值
- 关于strust2 <s:select>标签组值有关问题
- 新人求问,J2EE方向,html,css,javascript,vml要学到什么程度?解决思路
- :前台和后台开发有啥区别?还有css、html、ajax、js、jquery都有什么区别
- select count(*)as num from hall where Hall_No=10000001关于这个SQL语句,怎么取出返回的数字
- js里如何取<s:select>标签里的值
- struts <html:file> 怎么让前面的框消失,先谢过了
- Eclipse导入工程后,XDoclet异常:Missing library: xdoclet-1.2.1.jar. Select the home direc
- =Html.TextAreaFor的文本区域大小如何设置
- magaView.HasMonth = db.Library.GroupBy(a => a.TimeBook.Month).Select(a => a.Key),该怎么处理