struts2的select标签中,常用的有以下几个属性:
(1)struts2中的select 标签中,必须设置的属性只有一个,即是list。
(2)select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey, 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的名称。
<!----------------------转载结束---------------------------------------------------->

1.页面程序

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>student select list</title>
  </head>
  <body>
  
  <s:form name="form1" action="stuValueselectActionTest">
     <s:select          
            label="选择学生"
            list="liststu"
            name="selectStudent"
            listKey="userid"
            listValue="username"
            emptyOption="false"
            value="3"               //这里的value值对应于listKey中的userid,即为默认值,从数据库中取到某学生的值,赋予value即可
            
            />
      <s:submit/>
  </s:form>

</body>
</html>

2. 学生信息基础类 (StudentListTest.java),填充至list中.
package com.shangyu.bean;

public class StudentListTest {
 private String username;
 private int userid;
 public int getUserid() {
  return userid;
 }
 public void setUserid(int userid) {
  this.userid = userid;
 }
 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
}

3.后台程序赋值给list传回前台页面 (StudentSelectActionTest.java)

package com.shangyu.action;

import com.opensymphony.xwork2.ActionSupport;
import com.shangyu.bean.*;
import java.util.*;
public class StudentSelectActionTest extends ActionSupport{
 private List liststu;

public List getListstu() {
  return liststu;
 }

public void setListstu(List liststu) {
  this.liststu = liststu;
 }
 
 public String execute()
 {
  List liststu=new ArrayList<StudentListTest>();
  
  StudentListTest stutest=new StudentListTest();
  
  stutest.setUserid(1);
  stutest.setUsername("萧峰");
  liststu.add(stutest);
  stutest=null;
  
  stutest=new StudentListTest();
  stutest.setUserid(2);
  stutest.setUsername("虚竹");
  liststu.add(stutest);
  stutest=null;
  
  stutest=new StudentListTest();
  stutest.setUserid(3);
  stutest.setUsername("段誉");
  liststu.add(stutest);
  
  setListstu(liststu);
  return SUCCESS;
  
 }

}

4.取值测试的程序(stuValueselectActionTest.java)

package com.shangyu.action;
import com.opensymphony.xwork2.ActionSupport;
public class stuValueselectActionTest extends ActionSupport{
 
 private String selectStudent;

public String getSelectStudent() {
  return selectStudent;
 }

public void setSelectStudent(String selectStudent) {
  this.selectStudent = selectStudent;
 }
 
 public String execute()
 {
  
  System.out.println(getSelectStudent());  //打印出选择的值
  return SUCCESS;
 }

}

5. 配置xml
         <action name="studentSelectTest" class="com.shangyu.action.StudentSelectActionTest">
            <result name="error">/error.jsp</result>
            <result name="success">/studentSelectTest.jsp</result> 
         </action>

<action name="stuValueselectActionTest" class="com.shangyu.action.stuValueselectActionTest">
            <result name="error">/error.jsp</result>
            <result name="success">/xx.jsp</result> 
         </action>

Struts2的select使用的更多相关文章

  1. Struts2, jquery, select二级联动

    1. 下载jquery.js文件放在webroot下js文件夹里 2. 配置struts.xml: <package name="default" namespace=&qu ...

  2. Struts2 <s:select >标签的使用

    select 取值session中的内容 <s:select name="meal.mealseries.seriesid" list="#session.meal ...

  3. struts2 <s:select>标记取包含map的list的值

    如下list map.put("ID","001"); map.put ("NM","test1"); list.add ...

  4. java枚举类型转换为Struts2的select的数据

    枚举类:AppSortEnum.java public enum AppSortEnum { CORE(0, "核心应用"), ENJOYMENT(1, "娱乐应用&qu ...

  5. struts2设置<s:select>默认选中项的方法

    struts2的select标签中,常用的有以下几个属性:(1)struts2中的select 标签中,必须设置的属性只有一个,即是list.(2)select标签的list中必须有值,不然会报错.如 ...

  6. Struts2学习笔记之s:select标签

    貌似Struts2 标签都快忘光了  今天先来一发struts2的select标签: 首先从简到难,静态赋值: 1 <s:select name="user.sex" lis ...

  7. Could not load the FreeMarker template named &#39;select&#39;

    眼下项目使用struts2, 所以页面中就使用到了struts2的标签,可是今天在做新的功能的时候突然出现 "Could not load the FreeMarker template n ...

  8. j2EE经典面试题

    1. hibernate中离线查询去除重复项怎么加条件? dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 2. http协议及端口,sm ...

  9. 五 Struts 配置文件

    一.struts.xml详解1.package:包 属性:name=命名 namespace=在action访问路径前面加的前缀 extends=继承另外的包 action:name=action的访 ...

随机推荐

  1. 解决 Invalid signature file digest for Manifest 问题

    idea打包的jar文件在spark执行是报错: Invalid signature file digest for Manifest 通过以下命令解决: zip -d myjob.jar META- ...

  2. dos常用命令【总结】

    win7下有很多有用的dos命令,现在总结如下: 延伸:Linux常用命令[总结] 命令 作用 其他 ping 检查和另一台主机的连通性  ping  127.0.0.1   telnet 检查连通性 ...

  3. python collections模块 计数器(counter)

    一.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 把我写入的元素出现的多少次都计算出来 import collectio ...

  4. Linux打包压缩与安装卸载

     一.打包压缩 (1)tar:打包拆包命令 tar -cxzjvf 打包后的文件 欲打包的目录  -c:打包文件夹  -x:拆开文件夹  -z:以gzip格式压缩,默认压缩倍数为6倍  -j:以bzi ...

  5. XVII Open Cup named after E.V. Pankratiev Stage 14, Grand Prix of Tatarstan, Sunday, April 2, 2017 Problem A. Arithmetic Derivative

    题目:Problem A. Arithmetic DerivativeInput file: standard inputOutput file: standard inputTime limit: ...

  6. python-socket作业

    #客户端 import socket import threading import tkinter sock = socket.socket(socket.AF_INET, socket.SOCK_ ...

  7. POJ - 3648 Wedding (2-SAT 输出解决方案)

    题意:有N-1对夫妇和1对新郎新娘要出席婚礼,这N对人要坐在走廊两侧.要求每对夫妇要坐在不同侧.有M对人有通奸关系,对于这一对人,不能同时坐在新娘对面(新娘新郎也可能和别人有通奸关系).求如何避免冲突 ...

  8. spark streaming基础知识1

    1.怎么理解spark streaming中的dstream? 它是spark streaming的基础数据结构,代表着(time,RDD)序列,有两种生成方式,一种是基于流数据创建(kafka,so ...

  9. 关于hibernate插入数据到mysql数据库中文乱码问题的解决

    要想解决这个问题就要找到问题的症结所在 1.首先将数据提交到action输出看action里的数据是不是中文乱码,结果很遗憾并不是这里的问题 2.设置数据库连接url: 3.打开mysql安装文件里的 ...

  10. Java命令:Jstack

    jstack是java虚拟机自带的一种堆栈跟踪工具. 功能 jstack用于生成java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目 ...