`

<html:select>标签

阅读更多
Struts 中的下拉选择列表标签必须嵌套在<html:form>标签中,<html:select>标签的属性:
size 指定每次在网页上显示的可选项的数目。
multipe 指定是否支持多项选择,如果设置为true,则支持多项选择。否则只支持单选,默认值false。
property 与ActionForm中的某个属性对应,这个属性用来存放用户在列表上选中选项的值。在单项选择情况下,ActionForm对应属性应该定义为简单类型(不能为数组);在多项选择情况下,ActionForm中的对应属性应该定义为数组类型,以便存放用户选择的多个选项。
value 指定下拉列表默认选中的项。

一般使用方法:
<html:select property="XXX">
<html:option>或<html:options>或<html:optionsCollection>
</html:select>
在<html:select>标签中可以包含多个<html:option>,<html:options>,<html:optionCollections>元素。

一、<html:option>标签生成HTML<option>元素,其value属性指定可选项的实际值。

1.直接指定
<html:option value="实际值">显示内容</html:option>

2.读取资源文件

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

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

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

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

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

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

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

二、<html:options>标签生成一组HTML标签<option>元素

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列表然后放入request范围内
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>

实现以上效果可以使用Struts框架特有的类LabelValueBean类,这样就省去了自己定义Bean的麻烦了:
ArrayList array=new ArrayList();
array.add(new LabelValueBean("1","高中"));
array.add(new LabelValueBean("2","本科"));
array.add(new LabelValueBean("3","硕士"));
array.add(new LabelValueBean("4","博士"));
request.setAttribute("xueli",array);

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

另,未指定collection属性方式的举例如下:

<html:select name="userForm" property="uid" size="1">
<html:options property="uids" labelProperty="unames"/>
</html:select>

其中uids和unames为等长的数组。

2.利用name属性指定存放在某个范围中的对象

例如
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

三、<html:optionsCollection>标签与<html:options>标签相似

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

如果使用name属性,那么将存放在pageContext/request/session/application中的Bean作为指定的集合;如果使用property属性,那么将使用和表单相关联的FormBean中的属性作为指定的集合。
也可以同时使用二者,此时用法同其他html标签。

其中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:select>
<html:optionsCollection
name="xueli"
value="userName"
label="userValue"/>
</html:select>

该标签和org.apache.struts.util.LabelValueBean结合得更好:
ArrayList array=new ArrayList();
array.add(new LabelValueBean("1","高中"));
array.add(new LabelValueBean("2","本科"));
array.add(new LabelValueBean("3","硕士"));
array.add(new LabelValueBean("4","博士"));
request.setAttribute("xueli",array);

<html:select>
<html:optionsCollection name="xueli"/>
</html:select>
1
2
分享到:
评论

相关推荐

    myeclipse2017 jsp页面 在select里面写 导致后面代码不是彩色问题

    6. **使用HTML注释**:一种临时解决方案是,将`&lt;c:if&gt;`标签及其内容用HTML注释`&lt;!-- --&gt;`包裹起来,但这会牺牲代码的可读性和调试能力。 在解决此类问题时,通常需要结合日志输出、错误信息以及社区论坛上的解决...

    <html:select>: 选择默认值

    `&lt;html:select&gt;`标签用于创建一个HTML的`&lt;select&gt;`元素,该元素允许用户从一组预定义的选项中选择一个或多个值。`&lt;html:select&gt;`通常与`&lt;html:option&gt;`标签一起使用,后者用于定义每个可选项。 #### 二、设置默认...

    jsp中htmlselect标签的用法

    &lt;html:select property="beanProperty"&gt; &lt;html:options collection="collectionName" property="valueProp" labelProperty="labelProp"/&gt; &lt;/html:select&gt; ``` - `property="beanProperty"`: 指定ActionForm或Bean...

    Struts2标签 UI标志又可以分为表单UI和非表单UI两部分

    5. **Select标签** - `&lt;s:select&gt;` 用于创建下拉列表。 - 示例: ```xml &lt;s:select tooltip="Chooseuser_type" label="" list="#{'free':'免费','vip':'会员'}" value="#{'free':''}" name="bean.user_type" ...

    用selectOneMenu标签开发级联选择

    此外,`&lt;f:selectItems&gt;`标签用于定义下拉列表中的选项。 ```html &lt;h:selectOneMenu value="#{bean.selectedOption}"&gt; &lt;f:selectItems value="#{bean.optionsList}"/&gt; &lt;/h:selectOneMenu&gt; ``` 在这个例子中,`#{...

    struts操作select标签实例

    &lt;html:select property="selectedItem"&gt; &lt;html:option value="Option1"&gt;Option 1&lt;/html:option&gt; &lt;html:option value="Option2"&gt;Option 2&lt;/html:option&gt; &lt;html:option value="Option3"&gt;Option 3&lt;/html:option&gt; &lt;/...

    SpringMVC中form:select的使用

    这可以通过`form:options`标签实现,它可以遍历一个集合并生成对应的`&lt;option&gt;`标签。例如: ```jsp &lt;form:select path="selectedCity"&gt; &lt;form:options items="${cityList}" itemValue="id" itemLabel="name" /&gt; ...

    struts2实现页面select标签默认选中

    在Struts2框架中,实现页面`&lt;select&gt;`标签默认选中的功能是非常实用且常见的需求。这不仅可以提高用户体验,还能让界面看起来更加专业。本文将详细介绍如何通过Struts2的相关标签来实现这一功能。 ### Struts2框架...

    jsp 开发之struts2中s:select标签的使用

    总结来说,`s:select`标签在Struts2中用于构建HTML `&lt;select&gt;`元素,通过`list`属性传递选项数据,`listKey`和`listValue`分别指定选项的键和显示值。`headerKey`和`headerValue`用于创建默认的头部选项,`value`...

    htmlSelect.txt

    ### 关于 `&lt;html:select&gt;`、`&lt;html:option&gt;`、`&lt;html:options&gt;` 和 `&lt;html:optionsCollection&gt;` 的详细解析 #### `&lt;html:select&gt;` 标签 `&lt;html:select&gt;` 是一个用于生成 HTML `&lt;select&gt;` 元素的标签。在 Struts 1.x...

    HTML中的select标签如何使用.docx

    HTML中的`&lt;select&gt;`标签是构建交互式网页表单的重要元素,它允许用户从预定义的选项中选择一个或多个值。在HTML中,`&lt;select&gt;`标签通常与`&lt;option&gt;`标签配合使用,用于创建下拉列表。下面将详细介绍`&lt;select&gt;`标签的...

    HTML常用标签.pdf

    14. &lt;hr&gt;:&lt;hr&gt; 标签在 HTML 页面中创建一条水平线。 15. &lt;center&gt;:对其所包括的文本进行水平居中。 16. &lt;a&gt;:&lt;a&gt; 标签可定义锚。锚(anchor) 有两种用法:通过使用 href 属性,创建指向另外一个文档的链接(或...

    jspHTML标签库

    HTML标签库提供了许多与HTML表单相关的标签,如`&lt;html:form&gt;`、`&lt;html:text&gt;`、`&lt;html:password&gt;`等。例如,创建一个包含用户名和密码输入的登录表单: ```jsp &lt;html:form action="login"&gt; ...

    纯html标签静态调用xml文件及xsl对xml文件的的显示修饰

    为了将XML与XSL结合,我们需要在HTML中引用XSL文件,通常是通过`&lt;xsl:transform&gt;`标签,但考虑到题目要求不使用JavaScript,我们可以使用以下HTML5的`&lt;link&gt;`标签: ```html &lt;link rel="stylesheet" type="text/xsl...

    HTML常用标签库及演示实例

    6. `&lt;html:select&gt;`和`&lt;html:option&gt;`标签: 这两个标签组合创建下拉选择列表。`&lt;html:select&gt;`定义列表,`&lt;html:option&gt;`定义选项。例如,创建一个包含城市选择的列表: ```html &lt;html:select property="city"&gt; ...

    Struts1.x HTML标签库

    6. `&lt;html:select&gt;`和`&lt;html:option&gt;`标签: `&lt;html:select&gt;`用于创建下拉选择列表,`&lt;html:option&gt;`则用于定义下拉列表中的选项。`&lt;html:select&gt;`的`property`属性同样与ActionForm对象的属性关联,而`...

    经典入门教程:JSP标准标签库

    2. **XML标签库**:用于处理XML文档,包括解析XML(`&lt;x:parse&gt;`)、选择XML节点(`&lt;x:select&gt;`)等。 3. **Function标签库**:提供了一系列预定义的函数,用于字符串操作、数组处理等。 4. **I18N(国际化)标签库**...

    struts标签-HTML标签笔记

    下面详细介绍几种常用的HTML标签: ##### 2.1 `&lt;html:form&gt;` 标签 - **功能**:该标签用于定义HTML表单。 - **示例**: ```xml &lt;html:form action="/submit" method="post"&gt; ... &lt;/html:form&gt; ``` - **关键...

    权威实用jsp自定义标签demo<select,checkbox,radio>

    本教程“权威实用jsp自定义标签demo&lt;select,checkbox,radio&gt;”专注于演示如何创建和使用自定义标签,特别是与HTML元素`&lt;select&gt;`(下拉列表)、`&lt;checkbox&gt;`(复选框)和`&lt;radio&gt;`(单选按钮)相关的功能。...

Global site tag (gtag.js) - Google Analytics