`
312350968
  • 浏览: 212144 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

struts2 select 标签使用详情

 
阅读更多

 

1.第一个例子:

 

<s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:select>

 

2.第二个例子:

 

<s:select list="#{1:'aa',2:'bb',3:'cc'}"  label="abc" listKey="key" listValue="value"  headerKey="0" headerValue="aabb">

 

3.第三个例子:

 

<%

 

HashMap map = new LinkedHashMap();

map.put(1,"aaa");map.put(2,"bbb");

map.put(3,"ccc");

request.setAttribute("map",map);

request.setAttribute("aa","2");

 

%>

 

<s:select list="#request.map"  label="abc" listKey="key" listValue="value" value="#request.aa"  headerKey="0" headerValue="aabb"></s:select>

 

 

摘抄自 http://www.cnblogs.com/modou/articles/1326683.html

 

 

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

 

 

struts2的select标签中,常用的有以下几个属性:

(1)struts2中的select 标签中,必须设置的属性只有一个,即是list。

(2)select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey, headerValue,这样就可以通过了。如:

xml 代码
<s:select   name="geElement.childType" list="childTypeList" listKey="key"  listValue="value" headerKey="0" headerValue="--请选择子类型--"/>   
其中,即使list中有值,我们也通常会加上headerKey, headerValue,即列表中显示的第一个选项。注意,headerKey不可以为空,不可以为-1。

(3)list属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。

(4)listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option。

(5)name属性:即是表单中select的名称。

使用例子:

     比如在做人员信息管理系统中,需要设置人员的民族、籍贯等信息,而这些信息一把不需要用户手动输入,而是通过下拉框进行选择,那么使用struts2的select标签应该如何实现呢,好,请看下面: 
    在Action类中,添加一个成员,String nationId;民族Id,设置getter和setter方法,添加一个Map类型的成员变量,Map nationMap;里面存放民族Id和对应的民族名称,设置getter和setter方法,在execute方法中,添加如下代码: 
    nationMap.put("1","汉族"); 
    nationMap.put("2","苗族"); 
     然后,在jsp页面中使用select标签,注意要加入标签库的引用:<% taglib uri="/struts-tags" prefix="s" %>,当然了一定要加入struts2的jar包才可以哦

   使用标签:   <s:select name="nationId" list="nationMap"></s:select> 
这样就可以了,简单吧! 
   上面list里面用的是Map类型的变量,其实list里面也可以是List类型的变量,那么如果是List类型的变量,select标签就需要使用这种形式 
      <s:select name="nationId" list="nations" key="name" value="id"/> 
   其中nations是List类型的变量,里面封装了一个Bean,Bean里面定义了两个变量,一个是id,一个是name。这样就可以了。

 

 

 

 

 

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

 

今天通过url传值,却发现select不能获取传递过去的值,让我很郁闷,搞了半天才弄明白怎么回事!趁着这股劲说说select的用法吧!

首先上官方介绍:
地址 : select tag reference

<s:action name="beanList" namespace="/system" id="bean" />
<s:select headerValue="--Please select--" headerKey="" list="#bean.testList"
name="obj.userName" listKey="userName" listValue="userName" value="%{obj.userName.trim()}"/>

上面就是我使用的test实例了!挨个解释吧!

首先你要用到select,可以只使用 <s:select>标签,解释下这个标签属性:
headerValue : 默认值value
headerKey :    默认name
list : 源数据 (可以在action方法里从数据库获取list)
name : 被选数据存放的位置(这里我方在对象obj的属性值userName中<需在action中定义该对象>)
listKey : 下拉选项的name
listValue : 下拉选项的value
value : 默认值

但是一个下拉列表往往是可以重复使用的,那么我们将它单独定义到一个action中,这里我的action的namespace是system,所以如我们上面定义的<s:action>标签:
name : 源数据名(对应get方法名)
namespace : 我们在struts.xml中定义的name
id : 相当于别名(在后面调用该actiond的时候直接用#号使用)

那就这样了,我就用到这些!

今天遇到的是什么问题呢? 就是value了. 我在form表单跳转的时候下拉列表可以很好的保存值,但是通过url跳转的时候始终无法获取值!我在页面可以打印出传递的值,可到了下拉列表就不行!
后来试了老半天,才发现是html在eclipse中format的时候回车键被换成空格,这让我的值后面都有了空字符串,而select获取默认值又是通过key来一一对应的,所以就获取不到了,在后面加上trim属性就好了,太残念了....
还有获取值的方式也很郁闷,使用%来获取的,看来的确要补下ognl才行啊.....

 
分享到:
评论

相关推荐

    struts2标签使用例子

    在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。

    struts操作select标签实例

    在Struts中,`html:select`标签是用于创建HTML下拉列表的一个重要元素,特别适用于用户界面中需要选择单一或多个选项的场景。本文将深入探讨`html:select`标签的使用方法及其相关知识点。 首先,我们需要理解`...

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

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

    struts2标签中select的三种写法

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

    struts2标签库例子

    下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并从 Action 或值堆栈中取得数据。这些标签可以分为控制标签、数据标签和其他标签。 控制标签用来控制程序的执行,...

    Struts2表单标签使用范例

    除了`&lt;s:textfield&gt;`,Struts2还提供了多种表单标签,如`&lt;s:password&gt;`用于创建密码输入框,`&lt;s:textarea&gt;`用于创建多行文本输入框,`&lt;s:radio&gt;`和`&lt;s:checkbox&gt;`用于创建单选按钮和复选框,以及`&lt;s:select&gt;`用于...

    struts2 select标签通过hibernate读后台数据,使select选项为后台数据

    总结一下,Struts2的`select`标签结合Hibernate的使用,使得我们可以轻松地从数据库中动态加载数据,生成下拉列表。这种做法提高了代码的可维护性和用户体验,因为数据可以根据实际情况实时更新。在Spring管理的环境...

    struts2标签使用方法

    下面我们将详细探讨Struts2标签的使用方法以及EL(Expression Language)表达式。 1. **Struts2标签库**: - **s:textfield**: 用于创建输入字段,可以设置属性如name、value、size、maxlength等。 - **s:...

    Struts2全部标签使用说明

    以上只是Struts2标签库的一部分,实际使用中还有更多标签如`&lt;s:textfield&gt;`(文本输入框)、`&lt;s:textarea&gt;`(文本区域)、`&lt;s:submit&gt;`(提交按钮)等,每个都有其特定的用途,极大地简化了JSP页面的编写。...

    struts2 表单标签的使用

    这篇博客将深入探讨Struts2中的表单标签及其使用方法。 首先,我们需要理解Struts2表单标签的基本结构。通常,一个表单标签以`&lt;s:form&gt;`开头,并以`&lt;/s:form&gt;`结束。它允许我们指定表单的属性,如`action`(表单...

    struts2标签库struts2标签库struts2标签库

    在Struts2标签库中,还有许多其他的标签,如、、等,每个标签都有其特定的使用场景和应用。 Struts2标签库提供了一系列的标签,帮助开发者快速构建Web应用程序,并提高了开发效率。但是,为了充分发挥Struts2标签库...

    Struts2常用标签

    在实际使用中,结合OGNL表达式语言,Struts2标签可以非常灵活地处理各种复杂情况。例如,我们可以利用OGNL动态地计算条件、访问对象属性等。总的来说,掌握Struts2的标签库对于提高Struts2应用的开发质量和效率至关...

    struts2标签大全

    9. **s:select标签**和**s:option标签**:创建下拉选择框,s:option用于填充选项,可以动态生成或静态定义。 10. **s:iterator标签**:用于迭代集合,常用于遍历列表、数组或Map,可以在循环内部嵌套其他Struts2...

    struts2.0标签使用源码

    3. 使用`s:submit`标签提交表单,Struts2会自动将表单数据封装到Action中。 4. 在Action的execute方法中处理业务逻辑,然后返回一个结果,比如"success"。 5. 在视图层,可以使用`s:property`标签显示Action返回的...

    Struts2标签集锦(附Struts2标签详解word文档)

    通过熟练掌握Struts2标签的使用,开发者可以更高效地构建动态网页,同时享受到Struts2框架带来的便利和灵活性。提供的“Struts2标签详解.doc”文档将对这些概念进行详细的解释,是深入学习和理解Struts2标签的重要...

    struts2标签库及国际化的使用例子

    Struts2 标签库及国际化的使用案例 Struts2 框架提供了强大的标签库和国际化功能,本实验旨在掌握 Struts 2 标签库和国际化功能的使用,并实现用户注册页面的国际化显示。 一、Struts2 标签库 Struts2 框架提供了...

    Struts2 常用标签使用(三十九)

    通过`s:i18n`标签,Struts2可以轻松实现页面的国际化,比如`&lt;s:i18n name="myBundle"&gt;`,然后在其中使用`s:text key="label.key"`显示翻译后的文本。 七、标签的异常处理 `s:fielderror`和`s:actionerror`标签用于...

    Struts2之struts2标签库了解和使用案例struts025

    Struts2是一个强大的Java EE应用程序框架,用于构建和维护可扩展、模块化和易于管理的Web应用程序。在Struts2中,标签库是其核心组件之一,极...学习并熟练掌握Struts2标签库的使用,是每个Java Web开发者必备的技能。

    struts2标签的使用代码

    Struts2的UI标签提供了一整套丰富的界面组件,如文本框`&lt;s:textfield&gt;`、下拉框`&lt;s:select&gt;`、复选框`&lt;s:checkbox&gt;`等。这些标签使得表单的创建更加简单,且易于与Action进行数据绑定。 5. 日期和树节点标签 对于...

Global site tag (gtag.js) - Google Analytics