struts2的select标签用法实例分析

本文实例讲述了struts2的select标签用法。分享给大家供大家参考。具体如下:

项目中遇到个小问题,总结下。

关于struts2 select标签的使用。

struts2 中从别的表中遍历数据 填充进入下拉菜单 用<s:select>标签显示.

struts2的版本为2.1.8

<s:select
      list=""
      name=""
      value=""
      headerKey=""
      headerValue=""
      listKey=""
      listValue=""
/>
(1)其中 list是必须具备的属性 list中可以存储map list set类型的数据

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

(2)如果list为空headKey 和headValue不能为空.listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option

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

下面具体解释下各个属性的含义。

headerValue : 默认值value
headerKey :    默认name
list : 源数据 (可以在action方法里从数据库获取list)
name : 被选数据存放的位置(这里我方在对象obj的属性值userName中<需在action中定义该对象>)
listKey : 下拉选项的name
listValue : 下拉选项的value
value : 默认值

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.第三个例子:

<%
java.util.HashMap map = new java.util.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
>

headerKey headerValue 为设置缺省值
4.第四个例子

public class Program implements Serializable {
  /**  serialVersionUID */
  private static final long serialVersionUID = 1L;
  private int programid;
  private String programName;
  public int getProgramid() {
    return programid;
  }
  public void setProgramid(int programid) {
    this.programid = programid;
  }
    public String getProgramName() {
    return programName;
  }
  public void setProgramName(String programName) {
    this.programName = programName;
  }
}

 xxxextends extends ActionSupport {
  private List<Program> programs ;
    public List<Program> getPrograms() {
    return programs;
  }
  public void setPrograms(List<Program> programs) {
      this.programs = programs;
  }
}

在jsp页面

<s:select list="programs" listValue="programName" listKey="programid" name="program" id="program"
headerKey="0l" headerValue="" value="bean.programid "></s:select>

其中:list="programs"为在action里面的list,listValue="programName"为<option value="xxx">value</option>对应bean里面的字段programName
listKey="programid"为<option value="xxx",对应bean里面的字段programid,value="bean.programid"为设定select被选中的值,s:select 会自动在 bean选中 key对应的值

希望本文所述对大家的Struts程序设计有所帮助。

(0)

相关推荐

  • 详解Struts2标签遍历

    struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo: s:iterator 标签有3个属性: value:被迭代的集合 id   :指定集合里面的元素的id,可以和var属性替换 status 迭代元素的索引 1:jsp页面定义元素写法数组或list <s:iterator value="{'1','2','3','4','5'}" id='n'> <s:property value='n'/>A </s

  • Struts2的s:radio标签使用及用jquery添加change事件

    struts2中s:radio标签的使用总结 遇到的问题:在使用该标签时,设置了默认选中项,但提交数据返回后,单选框不能显示之前选中的项,仍然为默认选项 通过测试得出以下结论: 以<s:radio name="user.sex" list="%{#{'1':'男','0':'女'}}" theme="simple"></s:radio>为例 在使用s:radio标签的时候,如果要使该标签默认选中一项,可以通过两种方法 1.

  • struts2标签总结_动力节点Java学院整理

    先看一下Struts2标签的分类吧.然后分类总结一下即可. 由于控制标签用的比较多,所以放在了前边.好首先看一下控制标签吧. 一.控制标签,JSTL大家应该都使用过,其实Struts2的控制标签和那个特别像的,主要是对EL表达式满足不了的进行补充使用.这里简单看一下吧: 1. if--elseif--else,用来控制选择输出的标签: <span style="font-size:18px;"><html xmlns="http://www.w3.org/1

  • Struts2 自定义下拉框Tag标签

    自定义标签主要包括三个步骤: 1.编写java类,继承TagSupport类: 2.创建tld文件,影射标签名和标签的java类: 3.jsp页面引入tld. 例子:自定义下拉框标签 如果页面上有下拉选择框,通常最好的解决方法是使用数据字典,因为有可能多个页面 使用同一个下拉框,便于后台统一维护. 自定义Tag类 import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.

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

    jsp 开发之struts2中s: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=&qu

  • struts2的select标签用法实例分析

    本文实例讲述了struts2的select标签用法.分享给大家供大家参考.具体如下: 项目中遇到个小问题,总结下. 关于struts2 select标签的使用. struts2 中从别的表中遍历数据 填充进入下拉菜单 用<s:select>标签显示. struts2的版本为2.1.8 <s:select       list=""       name=""       value=""       headerKey=&quo

  • JSP中param标签用法实例分析

    本文实例分析了JSP中param标签用法.分享给大家供大家参考,具体如下: Jsp中param标签的使用 <jsp:param>操作被用来以"名-值"对的形式为其他标签提供附加信息.它和<jsp:include>.<jsp:forward>.<jsp:plugin>一起使用,方法如下: 复制代码 代码如下: <jsp:param name="paramName" value="paramValue&qu

  • jsp中自定义标签用法实例分析

    本文实例讲述了jsp中自定义标签用法.分享给大家供大家参考.具体如下: 这里简单的写了一个自定义标签,自己定义标签的好处就是在jsp页面中可以使用自己定义的功能,完全与Java代码分离 1. tld文件如下: 首先是要写×.tld文件,当项目随着服务器启动的时候,会检查项目中有没有*tld文件. 写的tld文件 <?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://ja

  • jsp之c标签用法实例分析

    本文实例讲述了jsp之c标签用法.分享给大家供大家参考,具体如下: 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量.重复使用一组项目.测试条件和其他操作(如导入和重定向Web内容).Core标签按功能可分为4种类型: 1 变量维护: (1)<c:set>:设置变量值和对象属性.语法如下: 复制代码 代码如下: <c:set value="值" var="变量名" scope="变量的作用域" tar

  • Java自定义标签用法实例分析

    本文实例讲述了Java自定义标签用法.分享给大家供大家参考,具体如下: 简单例子 实现一个标签分为两步:(1)继承SimpleTagSupport或TagSupport实现一个控制器(2)创建一个描述标签的tld文件.下面是一个简单例子: (1)实现一个标签控制器,向页面输出"hello": public class Test extends SimpleTagSupport{ public void doTag() throws IOException{ JspWriter out

  • MyBatis动态SQL标签用法实例详解

    1.动态SQL片段 通过SQL片段达到代码复用 <!-- 动态条件分页查询 --> <sql id="sql_count"> select count(*) </sql> <sql id="sql_select"> select * </sql> <sql id="sql_where"> from icp <dynamic prepend="where&quo

  • Python iter()函数用法实例分析

    本文实例讲述了Python iter()函数用法.分享给大家供大家参考,具体如下: python中的迭代器用起来非常灵巧,不仅可以迭代序列,也可以迭代表现出序列行为的对象,例如字典的键.一个文件的行,等等. 迭代器就是有一个next()方法的对象,而不是通过索引来计数.当使用一个循环机制需要下一个项时,调用迭代器的next()方法,迭代完后引发一个StopIteration异常. 但是迭代器只能向后移动.不能回到开始.再次迭代只能创建另一个新的迭代对象. 反序迭代工具:reversed()将返回

  • Python callable()函数用法实例分析

    本文实例讲述了Python callable()函数用法.分享给大家供大家参考,具体如下: python中的内建函数callable( ) ,可以检查一个对象是否是可调用的 . 对于函数, 方法, lambda 函数式, 类, 以及实现了 _ _call_ _ 方法的类实例, 它都返回 True. >>> help(callable) Help on built-in function callable in module __builtin__: callable(...) calla

  • Python lambda函数基本用法实例分析

    本文实例讲述了Python lambda函数基本用法.分享给大家供大家参考,具体如下: 这里我们简单学习一下python lambda函数. 首先,看一下python lambda函数的语法,如下: f=lambda [parameter1,parameter2,--]:expression lambda语句中,冒号前是参数,可以有0个或多个,用逗号隔开,冒号右边是返回值.lambda语句构建的其实是一个函数对象. 1>无参数 f=lambda :'python lambda!' >>&

  • Tensorflow tf.tile()的用法实例分析

    tf.tile()应用于需要张量扩展的场景,具体说来就是: 如果现有一个形状如[width, height]的张量,需要得到一个基于原张量的,形状如[batch_size,width,height]的张量,其中每一个batch的内容都和原张量一模一样.tf.tile使用方法如: tile( input, multiples, name=None ) import tensorflow as tf a = tf.constant([7,19]) a1 = tf.tile(a,multiples=[

随机推荐