`
shift8
  • 浏览: 150376 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JSP_Struts标签 html:select option基本用法

阅读更多

 

<html:select><html:option><html:options>,<html:optionsCollection>标签使用

<html:select>生成HTML<select>元素

<html:option>:生成HTML<option>元素

<html:options>:生成一组HTML<options>元素

<html:optionsCollection>生成一组HTML<options>元素。


<html:select>
生成HTML<select>元素,表示下拉列表框或多选列表。

<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同时指定要显示的内容

bundleStruts配置文件中<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>

 

<html:options>
<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>
<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

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属性用来指定实际值(提交给服务器的值)

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

如果使用property属性,那么将使用和表单相关联的FormBean中的xueli属性作为指定的集合。

 

<html:optionsCollection>
<html:optionsCollection property="actionForm.property" label="displayName" value="value"/>
其中propertyActionForm中的一个属性,为一个集合.displayName为前台显示的名称,value为后台实际使用的值.
:<html:optionsCollection property="listProperty" label="name" value="id" />

 

-----------------------------------------------------------------------------------------------------------------

意见:

如果要从 数据库去取数据,一般是在 action 里调用 DAO ,把结果存入一个ArrayList作为 request 的一个属性传到页面上; 这时一般用 <html:options .../> 标签.另外,如果数据不从数据库去取,而是代码固定的,则一般把这种放到 ActionForm 里,作为属性在页面上取,这时一般用 <html:optionsCollection ... />

 

 

分享到:
评论
1 楼 mathlpz 2015-01-15  
          

相关推荐

    jsp中htmlselect标签的用法

    以下是对`html:select`标签的详细解释和使用方法: ### 基本结构 `html:select`标签的基本结构如下: ```jsp &lt;html:select property="beanProperty"&gt; ...

    struts操作select标签实例

    本文将深入探讨`html:select`标签的使用方法及其相关知识点。 首先,我们需要理解`html:select`标签的基本结构。这个标签通常与`html:option`标签配合使用,以生成下拉列表的选项。一个简单的例子如下: ```jsp ...

    JSP_struts2标签大全.doc

    本文将详细介绍JSP_Struts2标签库中的各个标签及其使用方法,帮助开发者更好地理解和运用这些标签。 #### 二、标签概述 根据给定的部分内容,我们将逐一解析这些标签的功能与应用场景: 1. **a** - 创建一个HTML...

    struts2标签中select的三种写法

    在本文中,我们将深入探讨Struts2中`select`标签的三种不同的使用方法,以及如何从Action类动态获取数据填充这些选项。 ### 一、静态定义`select`标签 1. **静态数据**:在简单的场景下,我们可以直接在JSP页面中...

    Struts1.x HTML标签库

    Struts1.x HTML标签库是Java Web开发框架Struts1.x中的一个重要组成部分,它提供了一系列预定义的JSP标签,方便开发者创建与HTML表单交互的动态页面。这些标签简化了传统的HTML元素,并且与Struts框架紧密集成,使得...

    struts1_标签

    在使用Struts1的标签时,开发者还需要配置struts-config.xml文件,这个配置文件定义了ActionForm、Action、Forward等元素,它们与标签库紧密关联,确保标签能够正确地与应用程序的其他部分交互。例如,`&lt;html:link&gt;`...

    Struts标签- HTML标签

    Struts的HTML标签库是基于JSP标准标签库(JSTL)的,它们扩展了基本的HTML元素,增加了服务器端的功能。这些标签能够直接与Struts ActionForm对象交互,处理用户输入、验证数据以及设置和获取表单字段值。 2. **...

    struts2标签大全

    在Struts2中,使用了一系列的标签库来增强JSP页面的功能,使得开发者可以更方便地实现业务逻辑与视图的分离,提高代码的可读性和可维护性。本篇文章将详细介绍Struts2中的各种标签及其应用。 1. **s:form标签**:这...

    Struts 标签 页面跳转 数据库操作

    3. Select(下拉列表):`&lt;html:select&gt;`标签创建了一个下拉列表,通过`&lt;html:option&gt;`子标签定义各个选项。用户的选择会被封装到ActionForm对象中,然后在Action类中处理。 4. Multibox(多选框列表):`...

    Struts标签库.chm是一个不错的东西

    总之,“Struts标签库.chm”文档对于学习和掌握Struts框架的标签库功能至关重要,它涵盖了所有相关标签的用法、示例和最佳实践,是开发者的重要参考资料。通过深入学习和熟练应用这些标签,开发者可以更加高效地构建...

    struts标签库使用

    在一个典型的Struts应用中,用户填写表单(使用表单标签),提交后,Struts框架会调用相应的Action处理业务逻辑,然后根据结果使用逻辑标签进行跳转。如果需要验证数据,Validator框架会在用户提交表单时执行校验...

    Struts 中用Html 标签库的用法(第一部分).rar

    本篇文章将深入探讨Struts中Html标签库的用法,主要分为以下几个方面: 1. **HTML标签库的引入** 在JSP页面中,我们首先需要引入Struts的HTML标签库。这通常通过在页面顶部添加以下指令来完成: ```jsp ...

    Struts标签文档

    1. `&lt;html:form&gt;`:这是创建表单的基本标签,它将表单与Struts动作映射关联起来。通过指定`action`属性,你可以定义表单提交时的目标Action。`method`属性则用于设置HTTP请求类型,通常为"POST"或"GET"。 2. `...

    Struts中的html控件学习使用

    `html:select`标签用于创建HTML的`&lt;select&gt;`下拉列表,通常配合`html:option`标签一起使用。基本语法如下: ```jsp &lt;html:select property="propertyName"&gt; &lt;html:option value="optionValue1"&gt;Option Text 1&lt;/...

    Struts2常用标签

    Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者在编写JSP页面时能够更加方便地处理业务逻辑和展示数据。本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先...

    struts2标签介绍3

    除了`if`和`iterator`,Struts2标签库还包括许多其他标签,如`property`用于显示Action类属性的值,`select`和`option`用于创建下拉列表,`s:textfield`、`s:textarea`、`s:checkbox`、`s:radio`用于构建表单元素,...

    Struts提供的和Form相关的标签 .rar

    下面将详细解释Struts中与Form相关的标签及其用法。 1. `&lt;html:form&gt;`标签:这是Struts最基础的表单标签,用于在HTML页面上创建一个与ActionForm对象关联的表单。例如: ```jsp ...

    struts标签例子

    Struts标签是Apache Struts框架中用于简化JSP页面开发的组件,它们提供了一种声明式的方式来处理HTML表单和动作映射。Struts标签库包括一系列与HTML元素相关的标签,以及处理表单数据和控制流程的标签。下面将详细...

    struts标签的使用

    Struts标签是Apache Struts框架中的一个重要组成部分,它极大地简化了在JSP页面中处理动作和展示数据的过程。Struts标签库提供了丰富的标签,用于替代传统的JSP脚本元素,使得代码更易于阅读、维护,并提高了开发...

Global site tag (gtag.js) - Google Analytics