Struts2学习笔记之s:select标签
貌似Struts2 标签都快忘光了 今天先来一发struts2的select标签:
首先从简到难,静态赋值:
|
1
|
<s:select name="user.sex" list="#{'0':'男','1':'女'}" label="性别" headerKey="" headerValue="请选择性别"></s:select>
|
这样就会出现下拉框,默认是请选择性别,点开后是男女,根据firebug,看到男女前面对应的是0和1,比起原生态的select标签简单多了。
注释:这里从页面来静态构造下拉选项,关键点是list=”#{‘0′:’男’,’1′:’女’}” 通过它实现的select的两个option 。headerKey指定默认的选项”key”,headerValue指定默认的选项”value”。
再看看设置下拉列表的数据:
|
1
2
3
4
5
6
7
8
|
<%
java.util.HashMap map = new java.util.LinkedHashMap();
map.put(1, "A公司");
map.put(2, "B公司");
map.put(3, "C公司");
request.setAttribute("map", map);
request.setAttribute("aa", "D公司");
%>
|
|
1
|
<s:select list="#request.map" label="abc" listKey="key" listValue="value" value="#request.aa" headerKey="0" headerValue="aabb"></s:select>
|
value的值设置为了2,所以初始化下拉框时,会自动选择key值为2的选项。
最后,配合Struts2的action看看效果吧:
UserDao的代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@Repository("userDao")
public interface UserDao extends SqlMapper {
public List<User> selectAll();
public User getById(Integer id);
public User loginCheck(@Param("loginName")String login_name,@Param("password")String password);
public int updateUser(User user);
public int deleteById(Integer id);
public int add(User user);
@Select("SELECT a.*,b.* from users a ,orgs b where a.org_id = b.id")
public List<Map> getUserInfo();
@Select("SELECT * from orgs ORDER BY id")
public List<Map> getOrgs();
}
|
UserAction的代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
@Action("getuserinfo")
public String getAllUsers() {
List<Map> userList = userDao.getUserInfo();
List<Map> orgs = userDao.getOrgs();
if (userList != null) {
ServletActionContext.getRequest().setAttribute("userlist", userList);
ServletActionContext.getRequest().setAttribute("orgs", orgs);
return SUCCESS;
} else {
return ERROR;
}
}
|
试图jsp页面:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<div class="adduserbox">
<div class="tit">新建帐号<span>X</span></div>
<form action="adduserinfo.feinno" method="post" name="saveForm" id="saveForm">
<div class="content1">
<div class="name">
<div class="fields">姓名:</div> <input type="text" name ="name" placeholder="请输入姓名" autocomplete="off">
</div>
<div class="name">
<div class="fields">电话:</div> <input type="text" name ="svc_url" placeholder="请输入电话号码" autocomplete="off">
</div>
<div class="name">
<div class="fields">公司:</div> <s:select name="company" list="#request.orgs" headerKey="" headerValue="请选择公司" listKey="id" listValue="org_name"></s:select>
</div>
<div class="name">
<div class="fields">邮箱: </div><input type="text" name ="img_url" placeholder="请输入邮箱地址" autocomplete="off">
</div>
<div class="name">
<div class="fields">登录帐号:</div> <input type="text" name ="img_url" placeholder="请输入登陆账号" autocomplete="off">
</div>
<div class="other">
<button class="btn left blue" id="saveQuickService">保存</button>
<button class=" write btn right" id="calcle">取消</button>
</div>
</div>
</form>
</div>
|
这段代码是jsp里面的一块,点击新增用户弹出的弹出窗。
大家可以看到在“公司”这一个表单里的使用方法,首先给一个名称name属性,然后需要现实的List,list属性,listKey说明下拉框的key值对应id(公司ID)字段,listValue说明下拉框的显示部分对应org_name(公司名称)字段。很简单,很强大,很快捷。
Struts2学习笔记之s:select标签的更多相关文章
- struts2学习笔记之表单标签的详解:s:checkbox/radio/select/optiontransferselect/doubleselect/combobox
struts2中的表单标签都是以s标签的方式定义的,同时,struts2为所有标签都提供了一个模板,C:\Users\180172\Desktop\struts2-core-2.2.1.1.jar\t ...
- Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)
Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...
- Struts2学习笔记①
Struts2 学习笔记① 所有的程序学习都从Hello World开始,今天先跟着书做一个HW的示例. Struts2是一套MVC框架,使用起来非常方便,接触到现在觉得最麻烦的地方是配置文件.我的一 ...
- Struts2 学习笔记(概述)
Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并 ...
- Struts2学习笔记⑧
今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件 ...
- [原创]java WEB学习笔记62:Struts2学习之路--表单标签:form,表单标签的属性,textfield, password, hidden,submit ,textarea ,checkbox ,list, listKey 和 listValue 属性,select ,optiongroup ,checkboxlist
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记63:Struts2学习之路--表单标签 用户注册模块
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- struts2学习笔记 ⑤
拦截器初探 昨天临睡觉之前看了看拦截器,也在昨天的学习笔记里面胡诌诌了几句,今天就来好好的会会拦截器这个东西.实际上拦截器是一种模块实现的机制<起码我是这么体会的>(至于说书里面说体现了A ...
- [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40303897 官方文档:http://struts.apache.org/releas ...
随机推荐
- 段落排版--中文字间距、字母间距(letter-spacing, word-spacing)
中文字间隔.字母间隔设置: 如果想在网页排版中设置文字间隔或者字母间隔就可以使用 letter-spacing 来实现,如下面代码: h1{ letter-spacing:50px; } ... ...
- html 5的localstorag
随着我们硬件技术的发展,浏览器本身的功能也愈发的完善,从之前的cookie到现在的本地缓存机制,再到web storage,在之前html4 的时候使用cookie具有一些明显的局限,如大小限制,co ...
- OpenCV中Mat的详解
每次碰到Mat都得反复查具体的用法,网上的基础讲解不多,难得看到一篇,赶快转来收藏~ 原文地址:http://www.opencvchina.com/thread-1039-1-1.html 目标 我 ...
- js 之 复制一段代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- splice从数组中删除指定定数据
/*从数组中删除指定定数据var somearray = ["mon", "tue", "wed", "thur"]so ...
- openerp 产品图片的批量写入
Write a short python script which loops over the image files, encode with base64 and write to OpenER ...
- python学习笔记(一)元组,序列,字典
python学习笔记(一)元组,序列,字典
- mysql 修改max_allowed_packet
-- 查询max_allowed_packetshow VARIABLES like '%max_allowed_packet%'; 修改 my.ini 或 my.cnf [mysqld] max_a ...
- BZOJ 1008 越狱
Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 In ...
- js 实现 aop
Aop又叫面向切面编程,用过spring的同学肯定对它非常熟悉,而在js中,AOP是一个被严重忽视的技术点,这篇就通过下面这几个小例子,来说说AOP在js中的妙用. 1, 防止window.onloa ...