Struts2的select使用
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使用的更多相关文章
- Struts2, jquery, select二级联动
1. 下载jquery.js文件放在webroot下js文件夹里 2. 配置struts.xml: <package name="default" namespace=&qu ...
- Struts2 <s:select >标签的使用
select 取值session中的内容 <s:select name="meal.mealseries.seriesid" list="#session.meal ...
- struts2 <s:select>标记取包含map的list的值
如下list map.put("ID","001"); map.put ("NM","test1"); list.add ...
- java枚举类型转换为Struts2的select的数据
枚举类:AppSortEnum.java public enum AppSortEnum { CORE(0, "核心应用"), ENJOYMENT(1, "娱乐应用&qu ...
- struts2设置<s:select>默认选中项的方法
struts2的select标签中,常用的有以下几个属性:(1)struts2中的select 标签中,必须设置的属性只有一个,即是list.(2)select标签的list中必须有值,不然会报错.如 ...
- Struts2学习笔记之s:select标签
貌似Struts2 标签都快忘光了 今天先来一发struts2的select标签: 首先从简到难,静态赋值: 1 <s:select name="user.sex" lis ...
- Could not load the FreeMarker template named 'select'
眼下项目使用struts2, 所以页面中就使用到了struts2的标签,可是今天在做新的功能的时候突然出现 "Could not load the FreeMarker template n ...
- j2EE经典面试题
1. hibernate中离线查询去除重复项怎么加条件? dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 2. http协议及端口,sm ...
- 五 Struts 配置文件
一.struts.xml详解1.package:包 属性:name=命名 namespace=在action访问路径前面加的前缀 extends=继承另外的包 action:name=action的访 ...
随机推荐
- 部署knight项目
发布CRM你将使用以下软件 nginx uWSGI CentOS7 CRM项目文件 virtualenv supervisor WSGI.uWSGI python web服务器开发使用WSGI协议(W ...
- Ubentu下安装Docker
具体可以查看Docker官网,我是在服务器上面操作 1,sudo apt-get install -y apt-transport-https ca-certificates curl softwar ...
- Python3 格式化输出 %s & %d 等
1.打印字符串 print("My name is %s" %("Alfred.Xue")) #输出效果:My name is Alfred.Xue 2.打印整 ...
- matlab实现MSER(最大极值稳定区域)来进行文本定位
一.自然场景文本定位综述 场景图像中文本占据的范围一般都较小,图像中存在着大范围的非文本区域.因此,场景图像文本定位作为一个独立步骤越来越受到重视.这包括从最先的CD和杂志封面文本定位到智能交通系 ...
- spring中的缓存--Caching
1.spring从3.1开始支持缓存功能.spring 自带的缓存机制它只在方法上起作用,对于你使用其他持久化层的框架来讲,是没有影响的,相对来讲这种缓存方式还是不错的选择. 2.提供缓存的接口:or ...
- (转)MFC中Doc,View,MainFrmae,App各指针的互相获取
App是应用域,所有的域中的东西都可以通过全局函数访问到它. MainFrame是主框架,也基本可以用全局函数访问到. MainFrame下是若干个ChildFrame,ChildFrame中若干个V ...
- Magento 本地搬家至网络服务器步骤
1.将本地的Magento的数据库备份下来. 2.将本地的Magento网站资料做成ZIP资料. 3.将Magento网站 ZIP资料上传到服务器的域名指向的资料夹内. 4.将ZIP解压出来,移动到域 ...
- XDU 1003 B进制加法(高精度)
#include<bits/stdc++.h> using namespace std; long long mpow(long long a,long long b) { ; ) ; w ...
- java并发 —— Lock
java并发 -- Lock 关于java并发中的锁知识,少不了 Lock.本文转载自:Java并发编程:Lock. 从Java 5之后,在java.util.concurrent.locks包下提供 ...
- Swap交换分区--continue
Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存).即使你的程序运行结束后,Cache Memory也不会自动释放.这就会导致你在Lin ...