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. django-vue之信息过滤(过滤课程)

    一  vue前端代码 实现的内容,通过对课程的分类,在每个不同的课程分类下显示相应的内容 <template> <div class="course"> & ...

  2. sql server 测试delete后数据空间情况

    总结结论: [1]如果是索引组织表,删除的数据空间是会被文件设置为可用状态,其他表都可以使用. [2]如果是堆表,删除数据空间也会设置为可用状态,但是只能给被删除数据的表使用. [3]truncate ...

  3. Windows服务的安装、卸载

    创建一个Windows服务 http://jingyan.baidu.com/article/fa4125acb71a8628ac709226.html 安装服务 使用FramWork框架自带的Ins ...

  4. TensorFlow学习笔记(七)Tesnor Board

    为了更好的管理.调试和优化神经网络的训练过程,TensorFlow提供了一个可视化工具TensorBoard.TensorBoard可以有效的展示TensorFlow在运行过程中的计算图..各种指标随 ...

  5. Linux服务器上监控网络带宽命令

    本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以显示单个进程所使用的带 ...

  6. 一、html

    一.html相关概念 html是 htyper text markup language 即超文本标记语言,超文本就是指页面内可以包含图片.链接,甚至音乐.程序等非文字元素,而标记语言:即标记(标签) ...

  7. Outputting Strings in the Console

    Outputting Strings in the Console #include <windows.h> class Console {public:  enum fore_color ...

  8. 有按钮的ListView

    有按钮的ListView 但是有时候,列表不光会用来做显示用,我们同样可以在在上面添加按钮.添加按钮首先要写一个有按钮的xml文件,然后自然会想到用上面的方法定义一个适配器,然后将数据映射到布局文件上 ...

  9. (译)Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机

    Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机 今早我们释出一些很棒的Windows Azure更新.这些新的提升包括:SQL数据库:支持SQL自动导出和一个新的高级层 ...

  10. playbook管理配置文件

    前言:在生产环境中,经常需要更改多台机器配置文件,所以用playbook来实现nginx配置文件的管理 一.更新nginx配置文件并重新加载 1. 创建对应目录结构 mkdir -p /etc/ans ...