Struts2的select使用及默认值的测试

原创 2007年09月13日 12:56:00

Struts2的select使用及默认值的测试

<!---------------begin 以下部分转自http://icemoon.javaeye.com/blog/108592------------>
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 action初始化参数问题

struts2 action根据请求的parameter初始化参数时,如果有一个参数的初始化依赖于另一个参数,则很有可能那个被依赖的参数还没来得及初始化。 解决方法是避免在一个参数的setter里调...
  • priestmoon
  • priestmoon
  • 2012年06月06日 14:31
  • 1982

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

struts2的select标签中,常用的有以下几个属性: (1)struts2中的select 标签中,必须设置的属性只有一个,即是list。 (2)select标签的list中必须有值,不然会...
  • wuyanwen888
  • wuyanwen888
  • 2013年03月08日 08:24
  • 16692

struts2中<s:select>标签的动态使用

需要将后台传过来的userlist变成一个下拉菜单,于是想到使用,但设置属性设置了好久,在此记下来。 JSP代码: label:显示在下拉框前面的文字; name:下拉框的名字,在后台用ge...
  • ll328062201
  • ll328062201
  • 2014年12月16日 14:04
  • 2731

Chosen:Select 选择框的华丽变身 -- 值的读取和初始化

[代码] [HTML]代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2...
  • mengtianyalll
  • mengtianyalll
  • 2015年03月03日 15:37
  • 6267

使用angularjs的ng-options时如何设置默认值(初始值)

这两天我用ng-options过程中遇到的初始值为空白的问题,记得去年就遇到过,怎么解决的忘记了,费了一阵子功夫之后解决了,想记下来,方便遇到同样问题的小伙伴当然还有自己。   1.场景:      ...
  • lshj01
  • lshj01
  • 2017年01月17日 15:05
  • 11372

struts2 <s:textfield> value属性默认值解决方案

需求是这样:当用户登陆后,我们提供他一个可以修改个人信息的功能。在文本框里,需要显示用户的原始信息。 用户登陆后把他的全部信息放在session里,这种做法很正常,有一点开发经验的程序员都会这样...
  • wangweiguang2
  • wangweiguang2
  • 2014年12月12日 09:54
  • 1103

struts2 <s:textfield> value属性默认值解决方案

需求是这样:当用户登陆后,我们提供他一个可以修改个人信息的功能。在文本框里,需要显示用户的原始信息。 用户登陆后把他的全部信息放在session里,这种做法很正常,有一点开发经验的程序员都会这样...
  • henreash
  • henreash
  • 2014年03月21日 13:38
  • 1829

struts2 <s:textfield> value属性默认值解决方案

需求是这样:当用户登陆后,我们提供他一个可以修改个人信息的功能。在文本框里,需要显示用户的原始信息。 用户登陆后把他的全部信息放在session里,这种做法很正常,有一点开发经验的程序员都会这样去做...
  • huazhangena
  • huazhangena
  • 2012年05月03日 16:56
  • 3319

struts2中Action配置中的各项默认值和result的各种转发类型

在struts2中有很多项,我们平时的配置文件如下,如果不写的默认值会是什么呢? /WEB-INF/page/hello.jsp 1...
  • qq_18895659
  • qq_18895659
  • 2016年07月01日 09:53
  • 2383

Struts2的动态Action和全局跳转视图以及配置各项默认值

1:Struts2的默认访问后缀是.action(特别需要注意的是改了配置文件web.xml或者struts.xml需要重启服务器)  2:Struts2中常用的常量介绍: 一:全局配置 -...
  • Biexiansheng
  • Biexiansheng
  • 2017年04月19日 14:35
  • 336
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts2的select使用及默认值的测试
举报原因:
原因补充:

(最多只允许输入30个字)